Nesse código de golfe, você terá que determinar a direção do tiro mais curto que atingir exatamente n almofadas antes de cair no bolso.
A mesa de bilhar é uma mesa de bilhar de 6 bolsos com as seguintes características:
- As dimensões são variáveis ( a x b )
- Sem atrito: a bola rolará para sempre até cair no bolso
- Bolsos e tamanhos de bolas são quase nulos. Isso significa que a bola cairá no bolso apenas se tiver a mesma posição.
- A bola é colocada no buraco inferior esquerdo no início (mas não cai nela)
Crie um programa ou função completo que tome as dimensões ( a , b ) da tabela e o número de almofadas para atingir n como entrada e retorne o ângulo em graus do caminho mais curto, atingindo exatamente n almofadas antes de cair no bolso.
- a > 0
- b > 0
- 0 <= n <10000000
- 0 < alfa <90 (em graus) de precisão: pelo menos 10 ^ -6
exemplos :
com a = 2, b = 1, n = 1, existem três caminhos possíveis: (1) (2) (3) na figura a seguir. o número (1) é o menor, portanto a saída deve ser atan (2) = 63,43494882292201 graus
A solução para a = 2, b = 1, n = 4 é atan (4/3) = 53,13010235415598 graus
amostras de teste:
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
Este é o código / golfe de bilhar: o menor código vence!
n
almofadas, ou pelo menosn
almofadas?