Вы изо всех сил пытаетесь найти число Армстронга в интервале в Python? Позвольте мне объяснить вам на различных примерах.
Если сумма цифр, возведенная в степень длины, равна самому числу, это число Армстронга. Итак, мы можем создать собственную функцию, используя циклы и условные операторы, для поиска числа Армстронга в Python.
- Число Армстронга от 1 до 1000
- Поиск чисел в диапазоне
- Путем импорта математической функции
- Для печати первого числа
- Заключение
Число Армстронга от 1 до 1000
Вот полный код Python для нахождения числа Армстронга от 1 до 1000.
low_range = 1
high_range = 1000
for num in range(low_range, high_range + 1):
order = len(str(num))
armstrong_sum = 0
temp = num
while temp > 0:
digit = temp % 10
armstrong_sum += digit ** order
temp //= 10
if num == armstrong_sum:
print(num, end=" , ")
Здесь цель использования этих строк кода Python — перебор диапазона заданных чисел. Затем вычислите сумму каждой цифры, возведенную в степень количества цифр данного числа.
Теперь проверьте, равна ли сумма исходному числу. Этот процесс является распространенным и простым способом проверки номеров Армстронга.
for num in range(low_range, high_range + 1):
order = len(str(num))
armstrong_sum = 0
temp = num
while temp > 0:
digit = temp % 10
armstrong_sum += digit ** order
temp //= 10
Выход:
1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 153 , 370 , 371 , 407 ,
На снимке экрана ниже показан результат выполнения кода Python для поиска числа Армстронга в Python от 1 до 1000.

Поиск чисел в диапазоне
Мы можем попросить пользователя ввести нижнее и верхнее числа, необходимые для нахождения числа Армстронга в диапазоне в Python.
Программа для поиска числа:
lower_number = int(input("Enter lower number : "))
upper_number = int(input("Enter upper number : "))
for number in range(lower_number,upper_number + 1):
armstrong_sum = 0
temp = number
while temp > 0:
digit = temp % 10
armstrong_sum = armstrong_sum + digit ** 3
temp = temp // 10
if number == armstrong_sum:
print(number)
Попросите пользователя ввести нижнее и верхнее числа, чтобы установить диапазон, и найдите число Армстронга в Python в этом диапазоне.
lower_number = int(input("Enter lower number : "))
upper_number = int(input("Enter upper number : "))
Выход:
Enter lower number : 100 Enter upper number : 500 153 370 371 407
Вы можете обратиться к изображению ниже, на котором показан результат работы кода для поиска числа Армстронга в диапазоне в Python.

Путем импорта математической функции
Python имеет набор встроенных математических функций, которые расширяют список математических функций и позволяют выполнять математические задачи с числами, т. е. математический модуль.
Мы можем использовать функцию math.pow() для вычисления степени чисел.
Вот полный исходный код:
import math
first, second = 150, 10000
def is_Armstrong(val):
armstrong_sum_value = 0
temp_list = [int(d) for d in str(val)]
for i in range(0, len(temp_list)):
armstrong_sum_value = armstrong_sum_value + math.pow(temp_list[i], len(temp_list))
if armstrong_sum_value == val:
print(str(val) + ", ", end="")
for i in range(first, second + 1):
is_Armstrong(i)
Здесь мы, вероятно, суммируем текущее значение числа Армстронга с текущей цифрой, возведенной в степень общего количества цифр в temp_list.
Эта функция math.pow() из модуля math используется для вычисления степени заданного числа.
armstrong_sum_value = armstrong_sum_value + math.pow(temp_list[i], len(temp_list))
Выход:
153, 370, 371, 407, 1634, 8208, 9474,
Обратитесь к изображению ниже, оно представляет собой результат работы программы Python по поиску числа Армстронга с использованием математической функции.

Для печати первого числа
Это еще один способ найти число Армстронга в Python. Вот полный код Python для получения первого N Armstrong на Python.
limit_for_armstrong_number = int(input('For getting the first N Armstrong numbers, enter the value of N: '))
count = 0
initial_value = 1
print('The Armstrong numbers in this range are: ')
while(count!=limit_for_armstrong_number):
num_digits=len(str(initial_value))
current_num=initial_value
digit_sum = 0
if(num_digits>3):
while current_num!= 0:
digit = num_digits%10
digit_sum += digit** num_digits
current_num = current_num//10
if digit_sum == initial_value:
count+=1
print(initial_value)
else:
while current_num!= 0:
digit=current_num%10
digit_sum += digit**3
current_num = current_num//10
if digit_sum == initial_value:
count+=1
print(initial_value)
initial_value+=1
Здесь запустите цикл while, пока не будет найдено нужное число Армстронга, и вычислите количество цифр в текущем начальном значении_значения. Затем установите current_num на текущее оцениваемое число и инициализируйте значение переменной равным 0.
while(count!=limit_for_armstrong_number): num_digits=len(str(initial_value)) current_num=initial_value digit_sum = 0
Ниже цикл while в Python проверяет, превышает ли количество цифр 3. Он перебирает каждую цифру, пока она не станет 0, а затем извлекает сумму ее куба. Извлеките последнюю цифру числа и сохраните ее в значении цифры(т. е. n).
Теперь удалите последнюю цифру с помощью оператора // в Python и проверьте, равна ли сумма ее куба исходному числу, а затем увеличьте ее на +1, если это число Армстронга.
if(num_digits>3):
while current_num!= 0:
digit = num_digits%10
digit_sum += digit** num_digits
current_num = current_num//10
if digit_sum == initial_value:
count+=1
print(initial_value)
Внутри этого цикла while мы извлекаем последнюю цифру числа и вычисляем сумму его куба. Затем удалите последнюю цифру из числа и проверьте, верно ли условие. Счет увеличивается.
Кроме того, он увеличивает текущее число для следующей итерации.
while current_num!= 0:
digit=current_num%10
digit_sum += digit**3
current_num = current_num//10
if digit_sum == initial_value:
count+=1
print(initial_value)
initial_value+=1
Вывод: на снимке экрана ниже показан результат после выполнения программы Python.

Заключение
Я надеюсь, что это руководство предоставит полезную информацию для программы Python для поиска числа Армстронга в интервале. Здесь я продемонстрировал различные примеры, которые помогут вам найти число Армстронга в Python в различных сценариях, например, от 1 до 1000, в заданном диапазоне, с использованием математической функции, а также найти первое число N Армстронга.