-1

我需要一些帮助来解决我被分配的作业背后的数学问题。问题是计算从蚂蚁到糖果的距离。糖果总是在盒子的顶部,蚂蚁可以在任何地方,除了侧面。蚂蚁可以在顶部和侧面爬行,但不能飞。它们以连续 6 个数字的形式为您提供蚂蚁和糖果的坐标。前 3 个是蚂蚁的,接下来的 3 个是糖果的。我遇到的问题是第三个样本输入(0 0 0 5 4 3.0)。他们如何得到 8.60 个单位作为答案?当向上距离为 3 且到角点的距离为 6.40 时,总数应为 9.40。我的猜测是他们在上升时偷工减料,但我不知道如何制定一个公式来找到这样的最短长度。感谢您的帮助:D 如果您需要更多信息,请询问。

该框是 x,z,y 格式的 (5,4,3)。

Sample Input:                       
3 1 3 3 3 3            
2.25 0 2 2.5 2 3          
0 0 0 5 4 3.0   
0 4 3 5 0.0 3        
5 0 3 5 4.00 3           

Sample Output:               
Shortest distance = 2.00 units            
Shortest distance = 3.01 units        
Shortest distance = 8.60 units             
Shortest distance = 6.40 units            
Shortest distance = 4.00 units
4

1 回答 1

1

首先,正如 gap_j 指出的那样,这很明显是在错误的领域。也就是说,答案在于微积分——您必须将导数设置为零并确定最小值。根据您提供的尺寸和一两个推断,该框在 x 轴上为 5 个单位,在 y 轴上为 4 个单位,在 z 轴上为 3 个单位。这意味着,正如您所注意到的,首先沿 z 轴上行的最短距离为 9.40 个单位:

p(z) = z + sqrt(x 2 + y 2 )

还有其他两种选择,首先是直接沿轴行驶;x 优先和 y 优先:

p(x) = x + sqrt(y 2 + z 2 )

p(y) = y + sqrt(x 2 + z 2 )

这些路径的值分别为 10(精确)和 9.83。

为了实现p = 8.6问题中的给定值,沿 x 轴必须有一定的距离a,这样:

p(a) = sqrt((x - a) 2 + z 2 ) + sqrt(y 2 + a 2 )

否则沿 y 轴的一些距离b使得:

p(b) = sqrt((y - b) 2 + z 2 ) + sqrt(x 2 + b 2 )

并且值p(a)p(b)必须小于直接沿轴移动。有无数这样的值p(a)

由于这可能是微积分课的家庭作业问题,因此我将找到导数留给您,但公式已提供。只有一个变量,所以这应该不是特别困难。当然,这些可以概括,计算结果并确定较短的路径是一项相当简单的任务。

于 2013-05-10T19:52:05.727 回答