Echa un vistazo a la tabla de multiplicar sietes de 7 × 0 a 7 × 9:
0, 7, 14, 21, 28, 35, 42, 49, 56, 63
Si solo miramos los dígitos en su lugar, obtenemos una permutación de los dígitos del 0 al 9:
0, 7, 4, 1, 8, 5, 2, 9, 6, 3
Considere tomar un número entero decimal positivo N y reemplazar cada dígito D en N con el dígito en el lugar de 7 × D.
Por ejemplo, 15209se hace 75403porque 1se asigna a 7, 5mapas para 5, 2mapas para 4, 0mapas para 0, y 9se asigna a 3.
Ahora repitamos este proceso con este nuevo entero decimal hasta que veamos un ciclo, es decir, hasta que aparezca un entero que ya hemos visto.
Por ejemplo, con 15209nosotros obtenemos el ciclo
15209 -> 75403 -> 95801 -> 35607 -> 15209 -> repeats...
^
|
cycle restarts here
Como otro ejemplo, 505tiene el ciclo corto
505 -> 505 -> repeats...
^
|
cycle restarts here
Resulta que para cualquier N estos ciclos siempre contendrán exactamente 1 o 4 enteros distintos. (Dejaré que usted descubra por qué es eso). Lo interesante es que si suma todos los enteros distintos en un ciclo, casi siempre obtiene un entero decimal que solo consiste en 2'sy 0' s.
Por ejemplo, 15209 + 75403 + 95801 + 35607 = 222020.
N = 505 es una de las excepciones. El único entero en el ciclo es 505, por lo que la suma total es 505 en sí misma.
Aquí están las sumas de los ciclos para N = 1 a 60:
N sum
1 20
2 20
3 20
4 20
5 5
6 20
7 20
8 20
9 20
10 200
11 220
12 220
13 220
14 220
15 220
16 220
17 220
18 220
19 220
20 200
21 220
22 220
23 220
24 220
25 220
26 220
27 220
28 220
29 220
30 200
31 220
32 220
33 220
34 220
35 220
36 220
37 220
38 220
39 220
40 200
41 220
42 220
43 220
44 220
45 220
46 220
47 220
48 220
49 220
50 50
51 220
52 220
53 220
54 220
55 55
56 220
57 220
58 220
59 220
60 200
Llamaremos a esto la secuencia de la suma del ciclo de los siete.
Desafío
Escriba un programa o función que tome un entero decimal positivo N e imprima o devuelva, en decimal, el término correspondiente de la secuencia de la suma del ciclo de los siete.
Por ejemplo, si la entrada es 95801, la salida debería ser 222020. Si la entrada es 505, la salida debería ser 505. Si la entrada es 54, la salida debería ser 220.
El código más corto en bytes gana.