Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/126.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 长方体中的蚂蚁寻找最短路径:给出长方体的长度、宽度和高度。输出应以浮点形式显示最短距离_C++_C_Algorithm - Fatal编程技术网

C++ 长方体中的蚂蚁寻找最短路径:给出长方体的长度、宽度和高度。输出应以浮点形式显示最短距离

C++ 长方体中的蚂蚁寻找最短路径:给出长方体的长度、宽度和高度。输出应以浮点形式显示最短距离,c++,c,algorithm,C++,C,Algorithm,一只蚂蚁看见一盒糖。它爬到箱子的上角进入里面。不幸的是,盒子的下角只有几块方糖在蚂蚁对面。编写一个程序,帮助蚂蚁找到到达方糖的最短路径 输入和输出格式: 输入由三个整数组成,分别对应长方体的长度、宽度和高度。 输出应以浮点形式显示最短距离。精确到小数点后两位 输入和输出示例: 输入长度 5. 输入宽度 6. 输入高度 7. 最短距离为14.81 我用的公式 (1)平方根[(a+b)^2+c^2](2)平方根[(b+c)^2+a^2](3)平方根[(a+c)^2+b^2]之间的最小值 对于相同的输

一只蚂蚁看见一盒糖。它爬到箱子的上角进入里面。不幸的是,盒子的下角只有几块方糖在蚂蚁对面。编写一个程序,帮助蚂蚁找到到达方糖的最短路径

输入和输出格式:

输入由三个整数组成,分别对应长方体的长度、宽度和高度。 输出应以浮点形式显示最短距离。精确到小数点后两位

输入和输出示例:

输入长度 5. 输入宽度 6. 输入高度 7. 最短距离为14.81

我用的公式 (1)平方根[(a+b)^2+c^2](2)平方根[(b+c)^2+a^2](3)平方根[(a+c)^2+b^2]之间的最小值

对于相同的输入,我得到的答案是13.42 我哪里做错了

    s1=x+y;
    s2=y+z;
    s3=x+z;
   s1sq=s1*s1;
   s2sq=s2*s2;
   s3sq=s3*s3;
   x2=pow(x,2.0);
   y2=pow(y,2.0);
   z2=pow(z,2.0);
   full1=s1sq+z2;
   full2=s2sq+x2;
   full3=s3sq+y2;
   sq1=sqrt(full1);
   sq2=sqrt(full2);
   sq3=sqrt(full3);
   min=sq1;
   if(sq1<sq2 && s1<sq3)
   min=sq1;
   if(sq2<sq3 && sq2<sq1)
   min=sq2;
   else min=sq3;
   Printf("%.2f",min);
   return 0;
s1=x+y;
s2=y+z;
s3=x+z;
s1sq=s1*s1;
s2sq=s2*s2;
s3sq=s3*s3;
x2=功率(x,2.0);
y2=功率(y,2.0);
z2=功率(z,2.0);
full1=s1sq+z2;
full2=s2sq+x2;
full3=s3sq+y2;
sq1=sqrt(完整1);
sq2=sqrt(满2);
sq3=sqrt(满3);
min=sq1;

如果(sq1你在公式中犯了错误。从你的角度来看,你应该写:

(a + sqrt(b^2 + c^2))
(b + sqrt(a^2 + c^2))
(c + sqrt(a^2 + b^2)).
即使这样,你也不会得到最短的距离。举个例子, 假设立方体是1x1x1的单位,边沿x、y和z轴。为了让蚂蚁从(0,0,0)到(1,1,1),它可以从 (0,0,0) -> (0,1,1) -> (1,1,1) 或 (0,0,0)->(0,0.5,0.5)->(1,1,1)


第二条路径显然是较短的路径。

如果他们希望我们提供帮助,OP应该会显示出一些努力。请告诉我们您已经尝试了什么,失败的原因以及我们可能能够提供帮助。:-)我已经添加了代码我编写了什么类型的full1>@user3352106