Как найти число Армстронга в Питон? 🧮✨

Чтобы найти число Армстронга в Python, вы можете использовать следующий код:

    def is_armstrong_number(num):
        # Преобразуйте число в строку, чтобы производить операции над отдельными цифрами
        num_str = str(num)
        # Вычислите сумму цифр числа, возведенных в степень, равную количеству цифр в числе
        sum_of_digits = sum([int(digit) ** len(num_str) for digit in num_str])
        # Проверьте, является ли полученная сумма равной исходному числу
        return sum_of_digits == num

    # Проверьте все числа в заданном диапазоне (например, от 1 до 1000), чтобы найти числа Армстронга
    armstrong_numbers = [num for num in range(1, 1000) if is_armstrong_number(num)]
    print(armstrong_numbers)
    
Этот код определяет функцию `is_armstrong_number`, которая проверяет, является ли данное число числом Армстронга. Затем он проверяет все числа в заданном диапазоне (например, от 1 до 1000) и сохраняет числа Армстронга в список `armstrong_numbers`. В конце кода выводится этот список. Это решение может быть использовано для поиска чисел Армстронга в любом заданном диапазоне или для проверки, является ли конкретное число числом Армстронга.

Детальный ответ

Как найти число Армстронга в Python

Число Армстронга, также известное как число Нарциста, - это число, которое равно сумме своих цифр, возведенных в степень количества цифр числа. Например, число 153 является числом Армстронга, так как 1^3 + 5^3 + 3^3 = 153.

Давайте рассмотрим, как написать программу на Python, которая будет находить числа Армстронга.


# Функция для нахождения чисел Армстронга
def find_armstrong_numbers(start, end):
    armstrong_numbers = []
    for num in range(start, end + 1):
        sum = 0
        temp = num
        while temp > 0:
            digit = temp % 10
            sum += digit ** len(str(num))
            temp //= 10
        if num == sum:
            armstrong_numbers.append(num)
    return armstrong_numbers

# Пример использования функции
start_range = 1
end_range = 1000
result = find_armstrong_numbers(start_range, end_range)
print("Числа Армстронга в заданном диапазоне:", result)

В приведенном выше примере мы определяем функцию find_armstrong_numbers, которая принимает начальное и конечное значения диапазона чисел. Внутри функции мы создаем пустой список, в который будем добавлять найденные числа Армстронга.

Затем мы запускаем цикл for, который будет перебирать все числа в заданном диапазоне. В каждой итерации цикла мы инициализируем переменную sum в ноль и создаем временную переменную temp, содержащую текущее число.

Затем мы запускаем вложенный цикл while, который будет разбивать текущее число на отдельные цифры и суммировать их, возведенные в степень количества цифр числа. Эта сумма сохраняется в переменной sum.

После завершения вложенного цикла мы проверяем, равно ли исходное число num сумме цифр, возведенных в степень. Если они равны, то число num является числом Армстронга, и мы добавляем его в список armstrong_numbers.

В конце функции мы возвращаем список найденных чисел Армстронга.

В примере использования функции мы устанавливаем начальное значение диапазона start_range = 1 и конечное значение диапазона end_range = 1000. Затем вызываем функцию find_armstrong_numbers с этими значениями и сохраняем результат в переменную result.

Наконец, мы выводим список найденных чисел Армстронга с помощью функции print.

Таким образом, программа найдет и выведет все числа Армстронга в заданном диапазоне.

Видео по теме

Задание числo Армстронга

Python Program to check Armstrong Number

22 Цикл while. Инструкции break, continue, else

Похожие статьи:

🔎 Как задать функцию в питоне с большим количеством аргументов? 🐍

🔓 Как правильно открывать файлы в Python: легкий и подробный гид

Как выглядит настоящий питон? 🐍 Узнайте истинную красоту этой змеи!

Как найти число Армстронга в Питон? 🧮✨

🔧 Как поставить паузу в Python: простой способ

Как я выучил Python и нашел работу? 🐍🔍

🔍 Как добавить в пустой словарь элементы в Python