Diberikan adalah bilangan bulat x> 0 dan basis apa saja y> 3.
- Jumlahkan semua digit x (jika ditulis dalam basis yang ditetapkan).
- Lipat gandakan ini dengan digit setinggi mungkin (selalu
base -1
). - Ulangi sampai nilai ini
(y - 1) ^ 2
Yang dicari adalah hitungan iterasi dan langkah-langkahnya.
Contoh 1:
x= 739
y= 7
searched: (7 - 1) ^ 2 = 36
based: (b7)2104
sum: (dec)7
mul: (dec)42
based: (b7)60
sum: (dec)6
mul: (dec)36
2 steps needed -> answer is [2, 739, 42, 36] or [739, 42, 36, 2]
Contoh 2:
x = 1712
y = 19
s: 324
step1: 1712 -> 360
step2: 360 -> 648
step3: 648 -> 324
3 steps needed -> answer is [3, 1712, 360, 648, 324] or [1712, 360, 648, 324, 3]
Khusus:
Dalam beberapa kasus (beberapa kombinasi dengan basis 3) Anda tidak akan bisa (y - 1) ^ 2
menyukai untuk x = 53
dan y = 3
. Untuk alasan ini y
harus lebih besar dari 3 dan Anda dapat mengabaikannya.
Hitungan iterasi harus menjadi nilai pertama atau terakhir
Ini adalah kode-golf kemenangan byte-count terendah.