Dado es cualquier número entero x> 0 y cualquier base y> 3.
- Suma todos los dígitos de x (si está escrito en la base establecida).
- Multiplique esto por el dígito más alto posible (siempre es
base -1
). - Repita hasta que este valor sea
(y - 1) ^ 2
Se busca el recuento de iteraciones y los pasos.
Ejemplo 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]
Ejemplo 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]
Especial:
en algunos casos (algunas combinaciones con una base de 3) no podrá obtener me (y - 1) ^ 2
gusta para x = 53
y y = 3
. Por esta razón, y
debe ser mayor que 3 y puede ignorar esto.
El recuento de iteraciones debe ser el primer o el último valor
Este es el código de golf más bajo de conteo de bytes gana.