Функция Капрекара

Из Интернета.

"В 1949 году математик Д. Р. Капрекар из города Долали (Индия) придумал математическое действие, которое теперь известно как функция Капрекара. Для начала выберите любое число, в котором разряды не повторяются (то есть не 1111, 2222 и т.д.). Затем переставьте цифры так, чтобы получить самое большое число из максимально возможных и самое малое из возможных. Потом нужно вычесть из большего меньшее — и повторить операцию с получившимся числом.

Это простое действие, но Капрекар обнаружил, что оно ведёт к удивительному результату. Давайте посмотрим, как это работает, например, на числе 2005. Из этих цифр мы можем получить максимальное число 5200, а минимальное — 0025, то есть 25. Вычитания будут выглядеть так:

5200 — 0025 = 5175
7551 — 1557 = 5994
9954 — 4599 = 5355
5553 — 3555 = 1998
9981 — 1899 = 8082
8820 — 0288 = 8532
8532 — 2358 = 6174
7641 — 1467 = 6174

Когда мы достигаем 6174, функция повторяет сама себя, возвращая 6174 каждый раз. Мы называем число 6174 неподвижной точкой для данной функции.".

Я составил простую программу для выполнения указанных выше действий. Её текст:

dim a(100)
print "INPUT NUMBER ####  ";:input N
for k=1 to 100
A=int(N/1000):B=int((N-A*1000)/100)
C=int((N-A*1000-B*100)/10)
D=int(N-A*1000-B*100-C*10)
a1=B/A:a2=C/A:a3=D/A
if a1+a2+a3<>3 then
a(1)=A:a(2)=B:a(3)=C:a(4)=D
for i = 1 TO 3
for j = i + 1 TO 4
if a(i) < a(j) then
p = a(i)
a(i) = a(j)
a(j) = p
fi
next j
next i
A1=a(1)*1000+a(2)*100+a(3)*10+a(4)
A2=a(4)*1000+a(3)*100+a(2)*10+a(1)
N=A1-A2
s=s+1
print s,N
if N=6174 then end
fi
fi
next k

Если повторить первый пример, то будет распечатано:

INPUT NUMBER ####  ?5200
1 5175
2 5994
3 5355
4 1998
5 8082
6 8532
7 6174

Как видим - полное совпадение! Есть инструмент для анализа!

Введем, например, мой год рождения:

INPUT NUMBER ####  ?1950
1 9351
2 8172
3 7443
4 3996
5 6264
6 4176
7 6174

Ну, суперстар наш Капрекар!

6 ноября 2021 г.


Рецензии
Чрезвычайно интересно, Георгий! А на каком языке программирования эта программа? Великолепные математические расчеты!
Как приятно читать - Ваше интеллектуальное творчество, а не омерзительные лже-"литературные" скандалы каких-то неадекваток и неадекватов, на которые другие неадекватки и неадекваты стряпают, как некие пирожки (причем несьедобные, подгоревшие, равно как и то, на что стряпаются "рецензии" - тоже неадекватное и подгоревшее) неадекватные так называемые "рецензии"!
Математика...
А полюбуйтесь, пожалуйста, на ряд Фурье! http://proza.ru/2021/11/07/5

Принц Андромеды   11.11.2021 22:06     Заявить о нарушении
Спасибо, Принц! Программа самая примитивная Yabasic. Я давно с ней работаю, она самая простая. Питон хоть и престижней, но мне проще и быстрей получать результаты при посредстве первой.

Георгий Александров   12.11.2021 09:26   Заявить о нарушении
Спасибо, Георгий, что напомнили об этой красивой закономерности.
С уважением. О.А.

Оксана Александровна Богданова   19.02.2022 13:28   Заявить о нарушении
Оксана, добрый день! Мне - напишите, пожалуйста, рецензии.

Принц Андромеды   19.02.2022 13:58   Заявить о нарушении
http://proza.ru/2021/02/24/787 про мою дочку Маргариточку

Принц Андромеды   19.02.2022 14:00   Заявить о нарушении