Python程序,用于从二维平面中的原点到达形状点(d,0)所需的给定长度的跳跃次数
给定三个正整数a、b和d 。您当前位于无限二维坐标平面上的原点 (0, 0)。您可以在 2D 平面中的任意点上以欧几里德距离跳跃,距离当前位置等于a或b 。任务是找到从 (0, 0) 到达 (d, 0) 所需的最小跳跃次数。
例子:
Input : a = 2, b = 3, d = 1
Output : 2
First jump of length a = 2, (0, 0) -> (1/2, √15/2)
Second jump of length a = 2, (1/2, √15/2) -> (1, 0)
Thus, only two jump are required to reach
(1, 0) from (0, 0).
Input : a = 3, b = 4, d = 11
Output : 3
(0, 0) -> (4, 0) using length b = 4
(4, 0) -> (8, 0) using length b = 4
(8, 0) -> (11, 0) using length a = 3
# Python code to find the minimum number
# of jump required to reach
# (d, 0) from (0, 0)
def minJumps(a, b, d):
temp = a
a = min(a, b)
b = max(temp, b)
if (d >= b):
return (d + b - 1) / b
# if d is 0
if (d == 0):
return 0
# if d is equal to a.
if (d == a):
return 1
# else make triangle, and only 2
# steps required.
return 2
# main()
a = 3
b = 4
d = 11
print (int(minJumps(a, b, d)))
# Contributed by _omg
输出
3
有关更多详细信息,请参阅完整文章关于给定长度从二维平面中的原点到达形状点 (d, 0) 所需的跳跃次数!