Вы изо всех сил пытаетесь найти число Армстронга в интервале в 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 Армстронга.