
c语言 如何求一点,使其到平面上其他已知点的距离和最小?
展开全部
能具体点吗?
如果点少,或许可以用数学几何方法求
如果点多,估计就只能循环求近似点了
min=(x,y)到到其他点的距离和 (x,y可随意,一般取x=最小值,y=最小值)
for(x=最小值;x≤最大值;x增加)
for(y=最小值;y≤最大值;y增加)
if(点(x,y)到其他点的距离和 < min)
记录下(x,y);
这种方法只能求一个近似点,精确度取决于你设置的x、y的增加速率
如果点少,或许可以用数学几何方法求
如果点多,估计就只能循环求近似点了
min=(x,y)到到其他点的距离和 (x,y可随意,一般取x=最小值,y=最小值)
for(x=最小值;x≤最大值;x增加)
for(y=最小值;y≤最大值;y增加)
if(点(x,y)到其他点的距离和 < min)
记录下(x,y);
这种方法只能求一个近似点,精确度取决于你设置的x、y的增加速率
追问
我刚刚这样写了一下 会超时,这样吧 我把题目私信给你,你帮我再看看
追答
看了你写的题目,求的是曼哈顿距离所以,
x,y可以分开循环 这样比 嵌套循环效率 高很多
而且x,y的范围也可以是输入的最小值到最大值之间
for(x=最小值;x≤最大值;x++)
if(|x-x1|+|x-x2|+……<xmin)
更新x和xmin
for(y=最小值;y≤最大值;y++)
if(|y-y1|+|y-y2|+……<ymin)
更新y和ymin
最后坐标(x,y),最小距离和xmin+ymin
具体的可以后面百度hi或者私信聊
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |