不是VIP会员,不能显示答案

题目解答

题目:
var
px,py,ax,ay,bx,by:double;
t1x,t1y,t2x,t2y:double;
function Dist(ax,ay,bx,by:double):double;
begin
exit(sqrt((ax-bx)*(ax-bx)+(ay-by)*(ay-by)));
end;
begin
read(px,py,ax,ay,bx,by);
while Dist(ax,ay,bx,by)>1E-10 do
begin
t1x:=(ax*2+bx) / 3;
t1y:=(ay*2+by) / 3;
t2x:=(ax+bx*2) / 3;
t2y:=(ay+by*2) / 3;
if Dist(px,py,t1x,t1y)<Dist(px,py,t2x,t2y) then
begin
bx:=t2x;
by:=t2y;
end
else
begin
ax:=t1x;
ay:=t1y;
end;
end;
writeln(trunc(Dist(px,py,ax,ay)));
end.
输入:
0 0 -1 1 1 1
输出:1
考点: 0
分析: 三分法求点到直线的距离
解答:
评论:
老师: 0