Dai un'occhiata alla tabella di moltiplicazione dei sette da 7 × 0 a 7 × 9:
0, 7, 14, 21, 28, 35, 42, 49, 56, 63
Se guardiamo solo le cifre al posto di una, otteniamo una permutazione delle cifre da 0 a 9:
0, 7, 4, 1, 8, 5, 2, 9, 6, 3
Prendi in considerazione un numero intero decimale positivo N e sostituisci ogni cifra D in N con la cifra al posto di 7 × D.
Ad esempio, 15209
diventa 75403
perché 1
mappe a 7
, 5
mappe a 5
, 2
mappe a 4
, 0
mappe a 0
e 9
mappe a 3
.
Ora ripetiamo questo processo con questo nuovo numero intero decimale fino a quando non vediamo un ciclo, cioè fino a quando viene visualizzato un numero intero che abbiamo già visto.
Ad esempio, con 15209
otteniamo il ciclo
15209 -> 75403 -> 95801 -> 35607 -> 15209 -> repeats...
^
|
cycle restarts here
Come altro esempio, 505
ha il ciclo breve
505 -> 505 -> repeats...
^
|
cycle restarts here
Si scopre che per ogni N questi cicli conterranno sempre esattamente 1 o 4 interi distinti. (Lascerò a te capire perché è così.) La cosa interessante è che se sommi l'intero intero distinto in un ciclo, ottieni quasi sempre un numero intero decimale che consiste solo di 2
'e 0
'.
Ad esempio, 15209 + 75403 + 95801 + 35607 = 222020.
N = 505 è una delle eccezioni. L'unico numero intero nel ciclo è 505, quindi la somma totale è 505 stessa.
Ecco le somme dei cicli per 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
Chiameremo questa la sequenza della somma dei sette cicli.
Sfida
Scrivi un programma o una funzione che accetta un intero decimale positivo N e stampa o restituisce, in decimali, il termine corrispondente della sequenza della somma del ciclo di Seven.
Ad esempio, se l'input è 95801
, l'output dovrebbe essere 222020
. Se l'input è 505
, l'output dovrebbe essere 505
. Se l'input è 54
, l'output dovrebbe essere 220
.
Vince il codice più breve in byte.