8675309などの負でない整数を取り、隣接する数字のすべてのペア間の差の絶対値を計算することを検討してください。
以下のために8675309
我々が得ます|8-6| = 2
、|6-7| = 1
、|7-5| = 2
、|5-3| = 2
、|3-0| = 3
、|0-9| = 9
。これらの結果をつなぎ合わせると、別のより小さな非負整数が得られます212239
。プロセスを繰り返すと、が得られます11016
。0115
これは、先行ゼロが書き込まれないという規則により、、またはに115
なり、これ以上削減することはできません。これらすべての値を合計すると、が得られます。04
4
8675309 + 212239 + 11016 + 115 + 4 = 8898683
Digit Difference Sum(またはDDS)を、数字の数字の差分を繰り返して新しい数字を作成し、結果の数字をすべて元の数字に追加するこの操作として定義しましょう。
以下は、対応するDDSシーケンスの最初の20個の値です。
N DDS(N)
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 11
11 11
12 13
13 15
14 17
15 19
16 21
17 23
18 25
19 27
最初の10000個の値は次のとおりです。
特に、1000または100にプロットしても同じように見えるため、
(私はそれを歯科医の階段と呼びます...)
チャレンジ
非負の整数を取り込んで、そのDDS値を出力または返すプログラムまたは関数を作成します。たとえば、入力がの場合、出力は8675309
である必要があります8898683
。
バイト単位の最短コードが優先されます。