В этом посте о 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 для проверки трехзначных чисел Армстронга.
С помощью функции 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.
Как проверить с помощью 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-значного числа Армстронга.
Заключение
Я надеюсь, что эта статья предоставила информацию для проверки n-значного числа Армстронга в Python. Кроме того, я проиллюстрировал различные сценарии проверки числа Армстронга в Python, например трехзначные и четырехзначные числа.