W tym kodzie w golfa, trzeba będzie określić kierunek najkrótszym strzale, która uderza dokładnie n poduszki przed wpadnięciem do kieszeni.
Stół bilardowy to 6-kieszeniowy stół bilardowy o następujących cechach:
- Wymiary są zmienne ( a x b )
- Bez tarcia: piłka będzie toczyła się wiecznie, aż wpadnie do kieszeni
- Rozmiary kieszeni i kulek są prawie zerowe. Oznacza to, że piłka wpadnie do kieszeni tylko wtedy, gdy będzie miała tę samą pozycję.
- Piłka jest umieszczana w lewym dolnym otworze na początku (ale nie wpada w nią)
Utwórz pełny program lub funkcję, która przyjmuje wymiary ( a , b ) tabeli i liczbę poduszek, które należy uderzyć n jako dane wejściowe, i zwraca kąt w stopniach najkrótszej ścieżki uderzając dokładnie n poduszek przed wpadnięciem do kieszeni.
- a > 0
- b > 0
- 0 <= n <10000000
- Dokładność 0 < alfa <90 (w stopniach): co najmniej 10 ^ -6
przykłady:
przy a = 2, b = 1, n = 1 istnieją trzy możliwe ścieżki: (1) (2) (3) na poniższym rysunku. liczba (1) jest najkrótsza, więc wyjście powinno wynosić atan (2) = 63,43494882292201 stopni
Rozwiązaniem dla a = 2, b = 1, n = 4 jest atan (4/3) = 53,133010235415598 stopni
próbki testowe:
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
To jest golf kodowy / bilardowy: wygrywa najkrótszy kod!
n
poduszki, a przynajmniej wn
poduszki?