7×0から7×9までの7の乗算表を見てください。
0, 7, 14, 21, 28, 35, 42, 49, 56, 63
自分の場所の数字だけを見ると、数字0〜9の順列が得られます。
0, 7, 4, 1, 8, 5, 2, 9, 6, 3
正の10進整数Nを取り、Nの各桁Dを7×Dの場所の桁に置き換えることを検討してください。
たとえば、15209
なっ75403
ているため1
にマップ7
、5
にマップは5
、2
にマップ4
、0
にマップ0
、および9
にマップ3
。
さて、この新しい10進整数でサイクルを見るまで、つまり、すでに見た整数が現れるまで、このプロセスを繰り返しましょう。
たとえば15209
、サイクルを取得すると
15209 -> 75403 -> 95801 -> 35607 -> 15209 -> repeats...
^
|
cycle restarts here
別の例として505
、短いサイクルがあります
505 -> 505 -> repeats...
^
|
cycle restarts here
すべてのNに対して、これらのサイクルには常に正確に1つまたは4つの異なる整数が含まれることがわかります。(その理由を理解するのはあなたにお任せします。)興味深いのは、サイクル内のすべての異なる整数を合計すると、ほとんどの場合、2
「s 0
」と「s 」のみで構成される10進整数が得られることです。
たとえば、15209 + 75403 + 95801 + 35607 = 222020。
N = 505は例外の1つです。サイクル内の唯一の整数は505なので、合計は505自体です。
N = 1〜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
これを7サイクル合計シーケンスと呼びます。
チャレンジ
正の10進整数Nを取り込んで、7サイクル合計シーケンスの対応する項を10進数で出力または返すプログラムまたは関数を作成します。
たとえば、入力がの場合、出力は95801
である必要があります222020
。入力がの場合、出力は505
である必要があります505
。入力がの場合、出力は54
である必要があります220
。
バイト単位の最短コードが優先されます。