Рубрики
Без рубрики

Число Армстронга в Python – Простая реализация

Привет! Сегодня давайте узнаем кое-что Интересное, номер Армстронга. Мы бы поняли, что это за число, а затем реализовали бы программу, чтобы проверить, если

Автор оригинала: 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 +

Выполненные вычисления непосредственно равны исходному числу. Следовательно, это число является числом Армстронга.

Алгоритм проверки номера Армстронга

Чтобы проверить, является ли номер номером Армстронга, необходимо выполнить следующие действия

  1. Подсчитайте количество цифр в номере.
  2. Доступ к каждой цифре осуществляется одна за другой с помощью операций mod и division
  3. Каждая цифра повышается до степени числа цифр, и результат сохраняется в отдельной переменной
  4. Шаги 2 и 3 повторяются до тех пор, пока цифры не исчерпаются.
  5. Проверьте результат, рассчитанный с исходным номером
    • Если он совпадает: Номер Армстронга
    • В противном случае: Не номер Армстронга

Псевдокод для номера Армстронга

В приведенном ниже коде показан псевдокод для проверки того, является ли число номером Армстронга:

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!

Вывод

Поздравляю! Вы успешно узнали о числе Армстронга и реализовали то же самое!

Но не останавливайтесь на достигнутом! Продолжайте читать и учиться!