Попробуйте взять некоторое неотрицательное целое число, например 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.
Давайте определим сумму разности цифр (или DDS) как эту операцию многократного взятия разности цифр числа для формирования нового числа, а затем добавления всех полученных чисел к оригиналу.
Вот первые 20 значений в соответствующей последовательности DDS:
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.
Самый короткий код в байтах побеждает.









