Bei diesem Codegolf müssen Sie die Richtung des kürzesten Schlags bestimmen, der genau n Kissen trifft, bevor Sie in eine Tasche fallen.
Der Billardtisch ist ein Billardtisch mit 6 Taschen und den folgenden Eigenschaften:
- Maße sind variabel ( a x b )
- Keine Reibung: Der Ball rollt für immer, bis er in eine Tasche fällt
- Taschen und Ballgrößen sind fast Null. Dies bedeutet, dass die Kugel nur dann in die Tasche fällt, wenn sie die gleiche Position haben.
- Der Ball wird am Anfang am linken unteren Loch platziert (fällt aber nicht hinein)
Erstellen Sie ein vollständiges Programm oder eine Funktion, die die Abmessungen ( a , b ) der Tabelle und die Anzahl der Kissen als Eingabe verwendet , um n zu treffen, und den Winkel in Grad des kürzesten Pfades zurückgibt, der genau n Kissen trifft, bevor er in eine Tasche fällt.
- a > 0
- b > 0
- 0 <= n <10000000
- 0 < Alpha <90 (in Grad) Genauigkeit: mindestens 10 ^ -6
Beispiele:
mit a = 2, b = 1, n = 1 gibt es drei mögliche Pfade: (1) (2) (3) in der folgenden Abbildung. Die Zahl (1) ist die kürzeste, daher sollte die Ausgabe bei (2) = 63,43494882292201 Grad liegen
Die Lösung für a = 2, b = 1, n = 4 ist atan (4/3) = 53,13010235415598 Grad
Testmuster:
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
Dies ist Code / Billard Golf: Der kürzeste Code gewinnt!
n
Kissen treffen oder zumindest aufn
Kissen?