English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основной учебник Python

Контроль потока Python

Функции Python

Типы данных Python

Файловые операции Python

Объекты и классы Python

Python дата и время

Продвинутые знания Python

Python справочник

Python программа для проверки Armstrong чисел

Полное руководство по примерам Python

В этом примере вы узнаете, как проверить, является ли n-разрядное целое число Armstrong числом.

Чтобы понять этот пример, вы должны знать следующееPython программированиеТема:

Целое положительное число называется амстердамской степенью, n если

abcd... = an + bn + cn + dn + ...

Если амстердамское число 3 знаков, то сумма кубов каждого числа равна самому числу. Например:

153 = 1*1*1 + 5*5*5 + 3*3*3 // 153 — это амстердамское число.

Исходный код: Проверка амстердамского числа (3 знака)

# Проверка амстердамского числа на Python
# Принять ввод пользователя
num = int(input("Ввести число: "))
# Инициализировать sum
sum = 0
# Найдите сумму кубов каждого числа
temp = num
while temp > 0:
   digit = temp % 10
   sum += digit ** 3
   temp //= 10
# Показать результат
if num == sum:
   print(num, "является амстердамским числом")
else:
   print(num, "не амстердамское число")

Вывод 1

Ввести число: 456
456 — не амстердамское число

Вывод 2

Ввести число: 407
407 — амстердамское число

Здесь мы запрашиваем у пользователя ввод одного числа и проверяем, является ли оно амстердамским числом.

Нам нужно вычислить сумму кубов каждого числа. Поэтому мы инициализируем общую сумму в 0 и используемОператор модуля (%))Получите каждое число. Оставшаяся после деления на 10 часть числа — это его последние цифры. Мы используем оператор степеней для многоуровневых данных.

В конце концов, мы сравниваем общую сумму с исходным числом и делаем вывод, что если они равны, то это амстердамское число.

Исходный код: Проверка n-разрядного амстердамского числа

num = 1634
# Переменить переменную num на строку
# И计算出 длину (число знаков)
order = len(str(num))
# Инициализировать sum
sum = 0
# Найдите сумму кубов каждого числа
temp = num
while temp > 0:
   digit = temp % 10
   sum += digit ** order
   temp //= 10
# Показать результат
if num == sum:
   print(num, "является амстердамским числом")
else:
   print(num, "не амстердамское число")

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

Полное руководство по примерам Python