在此代码高尔夫球中,您将必须确定在落入口袋中之前恰好击中n个垫子的最短击球的方向。
台球桌是具有以下特征的6口袋台球桌:
- 尺寸可变(a x b)
- 无摩擦:球将永远滚动直到落入口袋
- 口袋和球的大小几乎为零。这意味着仅当球具有相同的位置时,球才会落在口袋中。
- 球在开始时放置在左下角的孔中(但不会掉进去)
创建一个完整的程序或函数,该函数将表的尺寸(a,b)和要击中n个垫子的数量作为输入,并返回以最短路径度数精确击中n个垫子然后落入口袋的角度。
- 一 > 0
- b > 0
- 0 <= n <10000000
- 0 < alpha <90(以度为单位)精度:至少10 ^ -6
例子 :
在a = 2,b = 1,n = 1的情况下,存在三种可能的路径:下图为(1)(2)(3)。数字(1)最短,因此输出应为atan(2)= 63.43494882292201度
对于该解决方案一个 = 2,b = 1,Ñ = 4是ATAN(4/3)= 53.13010235415598度
测试样品:
a = 2, b = 1, n = 1, -> alpha = 63.43494882292201
a = 2, b = 1, n = 2, -> alpha = 71.56505117707799
a = 2, b = 1, n = 3, -> alpha = 75.96375653207353
a = 2, b = 1, n = 4, -> alpha = 53.13010235415598
a = 2, b = 1, n = 5, -> alpha = 59.03624346792648
a = 2, b = 1, n = 6, -> alpha = 81.86989764584403
a = 4.76, b = 3.64, n = 27, -> alpha = 48.503531644784466
a = 2, b = 1, n = 6, -> alpha = 81.86989764584403
a = 8, b = 3, n = 33, -> alpha = 73.24425107080101
a = 43, b = 21, n = 10005, -> alpha = 63.97789961246943
这是代码/台球高尔夫:最短的代码获胜!
n
垫子,或者至少 击打n
垫子?