Tugas:
Diberi angka integer dalam sistem angka desimal, kurangi menjadi satu angka desimal tunggal sebagai berikut:
- Ubah nomor menjadi daftar angka desimal.
- Temukan digit terbesar, D
- Hapus D dari daftar. Jika ada lebih dari satu kejadian D, pilih yang pertama dari kiri (pada posisi paling signifikan), semua yang lain harus tetap utuh.
- Konversikan daftar yang dihasilkan menjadi angka desimal dan kalikan dengan D.
- Jika jumlahnya lebih besar dari 9 (memiliki lebih dari 1 digit desimal), ulangi seluruh prosedur, dan masukkan hasilnya ke dalamnya. Berhentilah ketika Anda mendapatkan hasil satu digit.
- Tampilkan hasilnya.
Contoh:
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.
Kami melanjutkan dengan mengulangi prosedur untuk 14184 dan seterusnya dan kami melewati hasil antara berikut, akhirnya mencapai 8:
11312
3336
1998
1782
1376
952
468
368
288
224
88
64
24
8
Jadi hasil untuk 26364 adalah 8.
Input: Integer / string yang mewakili integer
Output: Satu digit, hasil reduksi diterapkan ke nomor tersebut.
Kasus uji:
9 -> 9
27 -> 4
757 -> 5
1234 -> 8
26364 -> 8
432969 -> 0
1234584 -> 8
91273716 -> 6
Ini adalah kode-golf , jadi jawaban tersingkat dalam byte di setiap bahasa menang.
10 -> 10
?