このコードゴルフでは、ポケットに落ちる前に正確にn個のクッションに当たる最短ショットの方向を決定する必要があります。
ビリヤードテーブルは、次の特徴を持つ6ポケットプールテーブルです。
- 寸法は可変です(a x b)
- 摩擦なし:ボールはポケットに落ちるまで永遠に転がります
- ポケットとボールのサイズはほぼゼロです。これは、同じ位置にある場合にのみ、ボールがポケットに落ちることを意味します。
- ボールは最初に左下の穴に置かれます(しかし、落ちません)
テーブルの寸法(a、b)とnをヒットするクッションの数を入力として受け取り、ポケットに落ちる前に正確にn個のクッションをヒットする最短パスの角度を度数で返す完全なプログラムまたは関数を作成します。
- a > 0
- b > 0
- 0 <= n <10000000
- 0 < アルファ <90(度)精度:少なくとも10 ^ -6
例:
で= 2、B = 1、N(1)(2)(3)次の図に:= 1三つの可能な経路が存在します。数値(1)は最短であるため、出力はatan(2)= 63.43494882292201度になります。
a = 2、b = 1、n = 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
クッションに当たる必要がありますか?