Spójrz na tabliczkę mnożenia siódemek od 7 × 0 do 7 × 9:
0, 7, 14, 21, 28, 35, 42, 49, 56, 63
Jeśli popatrzymy tylko na cyfry na swoim miejscu, otrzymamy permutację cyfr od 0 do 9:
0, 7, 4, 1, 8, 5, 2, 9, 6, 3
Zastanów się nad wzięciem dodatniej liczby całkowitej dziesiętnej N i zastąpieniem każdej cyfry D w N cyfrą w miejscu 7 × D.
Na przykład 15209staje się, 75403ponieważ 1mapy do 7, 5mapy do 5, 2mapy do 4, 0mapy do 0i 9mapy do 3.
Teraz powtórzmy ten proces z nową liczbą całkowitą dziesiętną, dopóki nie zobaczymy cyklu, tj. Dopóki nie pojawi się liczba, którą już widzieliśmy.
Na przykład, 15209otrzymujemy cykl
15209 -> 75403 -> 95801 -> 35607 -> 15209 -> repeats...
^
|
cycle restarts here
Jako kolejny przykład 505ma krótki cykl
505 -> 505 -> repeats...
^
|
cycle restarts here
Okazuje się, że dla dowolnego N cykle te zawsze będą zawierać dokładnie 1 lub 4 różne liczby całkowite. (Zostawię to tobie, aby dowiedzieć się, dlaczego tak jest.) Co ciekawe, jeśli zsumujesz wszystkie odrębne liczby całkowite w cyklu, prawie zawsze otrzymasz dziesiętną liczbę całkowitą, która składa się tylko z 2„i 0”.
Na przykład 15209 + 75403 + 95801 + 35607 = 222020.
N = 505 jest jednym z wyjątków. Jedyną liczbą całkowitą w cyklu jest 505, więc całkowita suma to sama 505.
Oto sumy cykli dla N = 1 do 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
Nazwiemy to Sekwencją Sumy Cyklu Siedmiu.
Wyzwanie
Napisz program lub funkcję, która przyjmuje dodatnią liczbę całkowitą dziesiętną N i wypisuje lub zwraca dziesiętnie odpowiedni termin z Sekwencji sumy cykli siedmiu.
Na przykład, jeśli wejście jest 95801, wyjście powinno być 222020. Jeśli wejście jest 505, wyjście powinno być 505. Jeśli wejście jest 54, wyjście powinno być 220.
Najkrótszy kod w bajtach wygrywa.