Gegeben ist eine ganze Zahl x> 0 und eine beliebige Basis y> 3.
- Summiere alle Ziffern von x (falls in der eingestellten Basis geschrieben).
- Multiplizieren Sie dies mit der höchstmöglichen Ziffer (ist immer
base -1
). - Wiederholen, bis dieser Wert ist
(y - 1) ^ 2
Gesucht wird die Anzahl der Iterationen und die Schritte.
Beispiel 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]
Beispiel 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]
Special:
In einigen Fällen (einige Kombinationen mit einer Basis von 3) Sie werden nicht in der Lage sein zu bekommen (y - 1) ^ 2
wie für x = 53
und y = 3
. Aus diesem Grund y
muss größer als 3 sein und Sie können dies ignorieren.
Die Anzahl der Iterationen muss der erste oder der letzte Wert sein
Dies ist Code-Golf mit der niedrigsten Anzahl an Bytes.