Числа армстронга натуральное число называется числом армстронга

Число Армстронга (также самовлюблённое число, совершенный цифровой инвариант; англ. pluperfect digital invariant, PPDI ) — натуральное число, которое в данной системе счисления равно сумме своих цифр, возведённых в степень, равную количеству его цифр. Иногда, чтобы считать число таковым, достаточно, чтобы степени, в которые возводятся цифры, были равны m — тогда число можно назвать m -самовлюблённым.

Например, десятичное число 153 — число Армстронга, потому что

1 3 + 5 3 + 3 3 = 153.

Содержание

Формальное определение [ править | править код ]

Пусть n = ∑ i = 1 k d i b i − 1 <displaystyle n=sum _^d_b^> — число, записываемое d k d k − 1 . . . d 1 <displaystyle d_d_. d_<1>> в системе счисления с основанием b <displaystyle b> .

Если при некотором m <displaystyle m> случится так, что n = ∑ i = 1 k d i m <displaystyle n=sum _^>^> , то n <displaystyle n> является m <displaystyle m> -самовлюблённым числом. Если, сверх того, m = k <displaystyle m=k> , то n <displaystyle n> можно назвать истинным числом Армстронга.

Очевидно, что при любом m <displaystyle m> может существовать лишь конечное число m <displaystyle m> -самовлюблённых чисел, так как, начиная с некоторого k <displaystyle k> , k ⋅ 9 k 10 k − 1 − 1 <displaystyle kcdot 9^ .

Упоминания в литературе [ править | править код ]

«Существуют только четыре числа (кроме 1), равных сумме кубов цифр, например, 153 = 1 3 + 5 3 + 3 3 , 370 = 3 3 + 7 3 + 0 3 , 371 = 3 3 + 7 3 + 1 3 , 407 = 4 3 + 0 3 + 7 3 . Всё это забавные факты, весьма подходящие для газетных колонок с головоломками, способные позабавить любителей, но ничего в них не затронет сердце математика.»

Числа Армстронга в десятичной системе [ править | править код ]

В десятичной системе существует всего 88 чисел Армстронга. В промежутке 1 [3] :

Читайте также:  Черно белый клип поет девушка на английском

1, 2, 3, 4, 5, 6, 7, 8, 9, 153, 370, 371, 407, 1634, 8208, 9474, 54 748, 92 727, 93 084, 548 834, 1 741 725, 4 210 818, 9 800 817, 9 926 315, 24 678 050, 24 678 051, 88 593 477, 146 511 208, 472 335 975, 534 494 836, 912 985 153, 4 679 307 774.

Самое большое число Армстронга содержит 39 цифр: 115 132 219 018 763 992 565 095 597 973 971 522 401 .

Числа Армстронга в других системах счисления [ править | править код ]

  • В троичной системе счисления [1] : 13, 23, 123, 223, 1223, …
  • В четверичной системе счисления [1][4] : 14, 24, 34, 1304, 1314, 2034, 2234, 3134, 3324, 11034, 33034, …

Похожие классы чисел [ править | править код ]

Иногда терминами «самовлюблённые числа» называют любой тип чисел, которые равны некоторому выражению от их собственных цифр. Например, таковыми могут быть: совершенные и дружественные числа, числа Брауна, числа Фридмана, счастливые билеты и тому подобные.

Натуральное десятичное N – значное число называется числом Армстронга, если сумма его цифр, возведенных в степень N, равна самому числу.

Примеры: 153 = 1 3 + 5 3 + 3 3 ; 1634 = 1 4 + 6 4 + 3 4 + 4 4 .

Найти все числа Армстронга для 1 9 чисел и каждое число проверить. При этом на весьма солидной машине программа могла бы работать достаточно долго. Если бы цель задания заключалась только в нахождении чисел Армстронга, а не в составлении универсальной программы, разработка которой могла бы занимать большое время, то конечно, лучше было бы за 10 минут написать и 3 часа подождать.

Идея уменьшения класса исследуемых чисел заключается в следующем : можно делать перебор не самих чисел, а значений, которые могут получаться в результате степенной суммы ( т.е. суммы цифр числа, возведенных в степень числа цифр этого числа ). Здесь используется следующее свойство : от перемены цифр местами в числе степенная сумма не меняется. Т.е. например, незачем рассматривать все числа из класса : 135, 153, 315, 351, 531 и 513; достаточно рассмотреть одно из них, например, число 135; вычислить его степенную сумму : (135)ст = 153, а потом лишь убедиться в том что число 153 – это число Армстронга. Этот метод снижает число перебираемых чисел почти в N! раз. Сам же перебор осуществляется довольно просто : рассматриваются все числа, у которых любая цифра не меньше предыдущей и не больше последующей. Например: 12, 1557, 333 и т.д.

Читайте также:  Существительное с корнем круч

Итак, вышеописанный метод снизил число перебираемых чисел с 10 9 до приблизительно 200000. Но это не все на чем стоит остановливаться. Можно применить еще одну хитрость, которая заключается в следующем : можно значительно ускорить вычисление степенной суммы. Можно заметить, что при вычислениях часто приходится многократно возводить некоторое число в некоторую степень. Чтобы это оптимизировать вводится двухмерный массив, в i-ой строке и j-ом столбце которого находится значение степенной суммы i с основанием j (например, Degree[123,j] = 1 j + 2 j + 3 j ). Таким образом , используется значение массива Degree[i,j]. Это существенно ускоряет процесс вычисления, если это сравнивать с некоторым процессом, в котором используется функция Degree(i,j), каждый раз вычисляющая значение i j . Для вычисления выражения 10 j аналогичнo используется массив Degree10. Нужно заметить, что такая операция возведения в степень в программе вы полняется более 10000 раз; матрица Degree заполняется в начале программы, где операция возведения i в степень j выполняется около 8000 раз.

for a:=100 to 999 do begin
d:=0;
a2:=a;
while (a2 <> 0) do begin
b:= a2 mod 10;
a2:= a2 div 10;
c:= (b*b*b);
d:= d+c;
end;

if (a = d) then writeln(‘число армстронга ==> ‘, a);
end;
end.

Оцените статью
Добавить комментарий

Adblock detector