Um relógio analógico tem 2 ponteiros *: hora e minuto.
Esses ponteiros circulam o mostrador do relógio à medida que o tempo passa. Cada rotação completa do ponteiro dos minutos resulta em 1/12 de uma rotação do ponteiro das horas. 2 rotações completas do ponteiro das horas significam um dia inteiro.
Como essas mãos são fixadas no mesmo ponto central e giram em torno desse ponto, você sempre pode calcular o ângulo entre as mãos. De fato, existem 2 ângulos a qualquer momento; Um maior e outro menor (às vezes ambos são iguais a 180, mas isso não é importante)
* Nossos relógios hipotéticos não têm ponteiros de segundos
Tarefa
Dada uma hora no formato de 24 horas, produza o ângulo menor entre as mãos, em graus. Se os ponteiros estiverem diretamente opostos um ao outro (como em 6:00
, 18:00
etc), produza 180
Regras
De entrada pode ser feita como: - Um delimitador separados cadeia: 6:32
, 14.26
- 2 valores separados, cordas ou ints: 6, 32
, 14, 26
- Uma matriz de 2 valores, cordas ou ints: [6, 32]
,[14, 26]
Você também pode especificar opcionalmente que sua resposta requer entradas ser acolchoado para 2 dígitos (supondo que você tomar cordas), ou seja: 06:32
, 06, 32
,[06, 32]
Também pode inverter, opcionalmente, o ordem das entradas, tendo minutos, em seguida hora, ou seja: 32:6
, 32, 6
,[26, 14]
Hora será um valor inteiro entre 0
e 23
(inclusive) Minuto será um valor inteiro entre 0
e 59
(inclusive)
Você pode assumir que o ponteiro dos minutos se ajusta a incrementos de 6 graus ao longo da face (uma posição espaçada igualmente para cada valor de minuto)
Você pode assumir que o ponteiro dos minutos se ajusta a incrementos de 0,5 graus ao longo da face (uma posição espaçada igualmente para valor de cada minuto por valor de hora)
A saída deve ser dada em graus, não em radianos. Você pode incluir um final .0
para números inteiros
Pontuação
Isso é código-golfe, e o menor número de bytes em cada idioma vence!
Casos de teste
Input: 06:32
Output: 4
Input: 06:30
Output: 15
Input: 18:32
Output: 4
Input: 06:01
Output: 174.5
Input: 00:00
Output: 0
Input: 00:01
Output: 5.5
Input: 12:30
Output: 165
Input: 6:00
Output: 180
Input: 23:59
Output: 5.5
00:59 -> 35.5
(um pequeno valor de com um grande valor de provavelmente fará com que algumas implementações falhem). m