В этом посте о Python я подробно объясню, как проверить n-значные числа Армстронга в Python на примерах.

Число Армстронга в Python — это число, которое, возведенное в степень числа его цифр, равно сумме этого числа.

Содержание

С помощью цикла while

Я покажу вам, как проверить трехзначное число Армстронга с помощью цикла while в Python.

Цикл while в Python выполняет набор операторов, пока условие истинно.

Это полная программа Python для проверки трехзначного числа Армстронга с использованием цикла while на Python.

check_armstrong_num = int(input("Enter 3-digit number : "))
armstrong_sum = 0
temp = check_armstrong_num

while temp > 0:
    digit = temp % 10
    armstrong_sum += digit * digit * digit
    temp = temp//10
 
if armstrong_sum==check_armstrong_num:
    print('It is an Armstrong number')
else:
    print('It is not an Armstrong number')

Эти строки кода Python представляют собой цикл, который выполняет итерации, пока переменная temp больше 0. На каждой итерации он обрабатывает одну цифру числа, хранящегося в temp, и вычисляет сумму кубов его цифр.

while temp > 0:
    digit = temp % 10
    armstrong_sum += digit * digit * digit
    temp = temp//10

Выход:

Enter 3-digit number : 401
It is not an Armstrong number

Enter 3-digit number : 407
It is an Armstrong number

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

С помощью цикла while

С помощью функции def

Функция def в Python — это блок кода, который запускается только при вызове. В результате функция может возвращать данные.

Я буду использовать функцию def для проверки 4-значных чисел Армстронга в Python. Это еще один метод достижения этой цели.

Полный код:

def digits_count(n):
   i = 0
   while n > 0:
      n //= 10
      i += 1
   return i

def armstrong_sum(n):
   i = digits_count(n)
   s = 0
   while n > 0:
      digit = n%10
      n //= 10
      s += digit * digit * digit * digit
   return s

input_number = int(input("Enter number: "))
sum = armstrong_sum(input_number)

if sum == input_number:
   print(input_number, "is a four-digit Armstrong number.")
else:
   print(input_number, "is not a four-digit Armstrong number.")

Выход:

Enter number: 1634
1634 is a four-digit Armstrong number.

Обратитесь к снимку экрана ниже, чтобы увидеть выходные данные программы Python для проверки 4-значных чисел Армстронга с помощью функции def.

Число Армстронга в Python с использованием функции def

Как проверить с помощью if else

Позвольте мне показать вам, как проверять n-значные числа Армстронга в Python. Для этого я буду использовать цикл while.

Ниже приведен полный код:

input_number = int(input("Enter the number : "))
armstrong_sum = 0
armstrong_number = input_number
number_order = len(str(input_number))

while armstrong_number > 0:
    digit = armstrong_number % 10
    armstrong_sum +=  digit ** number_order
    armstrong_number = armstrong_number//10
 
if armstrong_sum==input_number:
    print('It is an Armstrong number')
else:
    print('It is not an Armstrong number')

Этот цикл while выполняет итерацию, пока переменная Armstrong_number больше 0.

Каждая итерация обрабатывает одну цифру числа, хранящегося в Armstrong_number, и вычисляет сумму цифр, возведенную в степень числа_порядка. Оператор ** в Python используется для возведения в степень.

while armstrong_number > 0:
    digit = armstrong_number % 10
    armstrong_sum +=  digit ** number_order
    armstrong_number = armstrong_number//10

Выход:

Enter the number : 548834
It is an Armstrong number

На снимке экрана ниже показаны выходные данные программы Python для проверки n-значного числа Армстронга.

Используя if else

Заключение

Я надеюсь, что эта статья предоставила информацию для проверки n-значного числа Армстронга в Python. Кроме того, я проиллюстрировал различные сценарии проверки числа Армстронга в Python, например трехзначные и четырехзначные числа.

Добавить комментарий