Автор оригинала: Pankaj Kumar.
Привет! Сегодня давайте узнаем кое-что Интересное, номер Армстронга. Мы бы поняли, что это за число, а затем реализовали программу, чтобы проверить, является ли число числом Армстронга или нет.
Что такое число Армстронга?
Число 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 повторяются до тех пор, пока цифры не исчерпаются.
- Проверьте результат, рассчитанный с исходным номером
- Если он совпадает: Номер Армстронга
- В противном случае: Не номер Армстронга
Псевдокод для номера Армстронга
В приведенном ниже коде показан псевдокод для проверки того, является ли число номером Армстронга:
READ n CALCULATE NO OF DIGITS n_digit MAKE A COPY OF n result=0 CHECK DIGIT BY DIGIT: WHILE n!=0 GET CURRENT DIGIT : digit = n % 10 UPDATE RESULT : result = result + digit^(n_digit) TRIM THE LAST DIGIT : n = n / 10 ENDWHILE CHECK FOR ARMSTRONG NUMBER: IF result==COPY OF n PRINT "ARMSTRONG NUMBER" ELSE PRINT "NOT AN ARMSTRONG NUMBER"
Реализация проверки чисел Армстронга в Python
Теперь, когда мы знаем о том, что такое число Армстронга и шаги по его реализации, давайте осуществим проверку Армстронга строка за строкой.
1. Создайте исходные переменные
Сначала мы берем вход n
, а затем вычисляем длину входа. Мы также храним копию входных данных, чтобы независимо от того, насколько сильно мы изменим исходный номер, у нас была копия, чтобы позже проверить номер Армстронга. Мы также инициализировали результат как 0.
Код для того же самого показан ниже:
n = input() n_digit = len(n) n=int(n) copy_n=n result = 0
2. Прохождение по номеру и обновление результата
Чтобы получить доступ к каждой цифре, мы берем модуль числа ( mod 10), чтобы извлечь последнюю цифру числа. Следующий шаг включает в себя обновление результата как суммы предыдущего результата и цифры, возведенной в степень числа цифр.
Последний и последний шаг, который мы делаем, – это делим число на 10, чтобы удалить последнюю цифру из числа. Тот же процесс повторяется до тех пор, пока в номере не останется больше цифр.
Код для того же самого показан ниже:
while(n!=0): digit = n%10 result=result+pow(digit,n_digit) n=int(n/10)
3. Проверка, является ли номер номером Армстронга или нет
Последний шаг-проверить копию числа, которое мы создали ранее, и вычислить результат, чтобы окончательно определить, является ли это число номером Армстронга или нет. Код для того же самого показан ниже:
if(result==copy_n): print("Armstrong Number!") else: print("Not an Armstrong Number!")
Выходные образцы для кода
На данный момент я протестировал программу для четырех входов. Результаты для всех четырех показаны ниже:
Номер 1: 153
153 Armstrong Number!
Номер 2: 121
121 Not an Armstrong Number!
Номер 3: 548834
548834 Armstrong Number!
Номер 4: 9468632
9468632 Not an Armstrong Number!
Вывод
Поздравляю! Вы успешно узнали о числе Армстронга и реализовали то же самое!
Но не останавливайтесь на достигнутом! Продолжайте читать и учиться!