Compito:
Dato un numero intero nel sistema di numeri decimali, ridurlo a una singola cifra decimale come segue:
- Convertire il numero in un elenco di cifre decimali.
- Trova la cifra più grande, D
- Rimuovi D dall'elenco. Se c'è più di un'occorrenza di D, scegli la prima da sinistra (nella posizione più significativa), tutte le altre dovrebbero rimanere intatte.
- Converti l'elenco risultante in un numero decimale e moltiplicalo per D.
- Se il numero è maggiore di 9 (ha più di 1 cifra decimale), ripetere l'intera procedura, inserendo il risultato al suo interno. Interrompi quando ottieni un risultato a una cifra.
- Visualizza il risultato.
Esempio:
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.
Continuiamo ripetendo la procedura per 14184 e così via e passiamo attraverso i seguenti risultati intermedi, raggiungendo infine 8:
11312
3336
1998
1782
1376
952
468
368
288
224
88
64
24
8
Quindi il risultato per 26364 è 8.
Input: un numero intero / una stringa che rappresenta un numero intero
Output: una singola cifra, il risultato della riduzione applicata al numero.
Casi test:
9 -> 9
27 -> 4
757 -> 5
1234 -> 8
26364 -> 8
432969 -> 0
1234584 -> 8
91273716 -> 6
Questo è code-golf , quindi vincono le risposte più brevi in byte in ogni lingua.
10 -> 10
?