Число Армстронга в Python – Простая реализация
Привет! Сегодня давайте узнаем кое-что Интересное, номер Армстронга. Мы бы поняли, что это за число, а затем реализовали программу, чтобы проверить, является ли число числом Армстронга или нет.
Что такое число Армстронга?
Число n цифр является числом Армстронга, если сумма каждой цифры, возведенная в степень числа без цифр, равна исходному числу.
Определение числа Армстронга : ^n + b^n + c^n + d^n + … . и так далее.
Примеры числа Армстронга
Пример 1: 153
Расчет (по цифрам^3 + 5^3 + + 125 +
Выполненный расчет непосредственно равен исходному числу. Следовательно, это число является числом Армстронга.
Пример 2: 548834
Расчет (цифра–^6 + 4^6 +8^6 + 8^6 + 3^6 + + 4096 + 262144 + 262144 + 729 +
Выполненные вычисления непосредственно равны исходному числу. Следовательно, это число является числом Армстронга.
Алгоритм проверки номера Армстронга
Чтобы проверить, является ли номер номером Армстронга, необходимо выполнить следующие действия
- Подсчитайте количество цифр в номере.
- Доступ к каждой цифре осуществляется одна за другой с помощью операций mod и division
- Каждая цифра повышается до степени числа цифр, и результат сохраняется в отдельной переменной
- Шаги 2 и 3 повторяются до тех пор, пока цифры не исчерпаются.
- Проверьте результат, рассчитанный с исходным номером
- Если он совпадает: Номер Армстронга
- В противном случае: Не номер Армстронга
Псевдокод для номера Армстронга
В приведенном ниже коде показан псевдокод для проверки того, является ли число номером Армстронга:
Реализация проверки чисел Армстронга в Python
Теперь, когда мы знаем о том, что такое число Армстронга и шаги по его реализации, давайте осуществим проверку Армстронга строка за строкой.
1. Создайте исходные переменные
Сначала мы берем вход n , а затем вычисляем длину входа. Мы также храним копию входных данных, чтобы независимо от того, насколько сильно мы изменим исходный номер, у нас была копия, чтобы позже проверить номер Армстронга. Мы также инициализировали результат как 0.
Код для того же самого показан ниже:
2. Прохождение по номеру и обновление результата
Чтобы получить доступ к каждой цифре, мы берем модуль числа ( mod 10), чтобы извлечь последнюю цифру числа. Следующий шаг включает в себя обновление результата как суммы предыдущего результата и цифры, возведенной в степень числа цифр.
Последний и последний шаг, который мы делаем, – это делим число на 10, чтобы удалить последнюю цифру из числа. Тот же процесс повторяется до тех пор, пока в номере не останется больше цифр.
Код для того же самого показан ниже:
3. Проверка, является ли номер номером Армстронга или нет
Последний шаг-проверить копию числа, которое мы создали ранее, и вычислить результат, чтобы окончательно определить, является ли это число номером Армстронга или нет. Код для того же самого показан ниже:
Выходные образцы для кода
На данный момент я протестировал программу для четырех входов. Результаты для всех четырех показаны ниже:
Число Армстронга
![]()
Пусть [math]\displaystyle< n = \sum_^k d_ib^ >[/math] — число, записываемое [math]\displaystyle< d_kd_
Если при некотором [math]\displaystyle< m >[/math] случится так, что [math]\displaystyle< n = \sum_^k
Очевидно, что при любом [math]\displaystyle< m >[/math] может существовать лишь конечное число [math]\displaystyle< m >[/math] -самовлюблённых чисел, так как, начиная с некоторого [math]\displaystyle< k >[/math] , [math]\displaystyle < k \cdot 9^k \lt 10^
Упоминания в литературе
«Существуют только четыре числа (кроме 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 <= N <= 10 находятся следующие 32 N-значные числа Армстронга [3] :
Самое большое число Армстронга содержит 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, …
Похожие классы чисел
Иногда терминами «самовлюблённые числа» называют любой тип чисел, которые равны некоторому выражению от их собственных цифр. Например, таковыми могут быть: совершенные и дружественные числа, числа Брауна, числа Фридмана, счастливые билеты и тому подобные.
Число Армстронга
Самовлюблённое число, или совершенный цифровой инвариант (англ. pluperfect digital invariant, PPDI или число Армстронга — натуральное число, которое в данной системе счисления равно сумме своих цифр, возведённых в степень, равную количеству его цифр. Иногда чтобы считать число таковым, достаточно, чтобы степени, в которые возводятся цифры, были равны m — тогда число можно назвать m-самовлюблённым.
Например, десятичное число 153 — число Армстронга, потому что:
Содержание
Формальное определение
Пусть 

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.