Tarefa:
Dado um número inteiro no sistema de números decimais, reduza-o para um único dígito decimal da seguinte maneira:
- Converta o número em uma lista de dígitos decimais.
- Encontre o maior dígito, D
- Remova D da lista. Se houver mais de uma ocorrência de D, escolha a primeira da esquerda (na posição mais significativa), todas as outras devem permanecer intactas.
- Converta a lista resultante em um número decimal e multiplique por D.
- Se o número for maior que 9 (tem mais de 1 dígito decimal), repita todo o procedimento, inserindo o resultado nele. Pare quando você obtiver um resultado de um dígito.
- Exibe o resultado.
Exemplo:
26364 ->
1. 2 6 3 6 4
2. The largest digit is 6, so D=6
3. There are two occurrences or 6: at positions 1 and 3 (0-based). We remove the left one,
at position 1 and get the list 2 3 6 4
4. we convert the list 2 3 6 4 to 2364 and multiply it by D:
2364 * 6 = 14184
5. 14184 is greater than 9 so we repeat the procedure, feeding 14184 into it.
Continuamos repetindo o procedimento para 14184 e assim por diante e passamos pelos seguintes resultados intermediários, chegando finalmente a 8:
11312
3336
1998
1782
1376
952
468
368
288
224
88
64
24
8
Portanto, o resultado para 26364 é 8.
Entrada: um número inteiro / uma sequência que representa um número inteiro
Saída: um único dígito, o resultado da redução aplicada ao número.
Casos de teste:
9 -> 9
27 -> 4
757 -> 5
1234 -> 8
26364 -> 8
432969 -> 0
1234584 -> 8
91273716 -> 6
Isso é código-golfe , então as respostas mais curtas em bytes em cada idioma vencem.
10 -> 10
?