English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Полное руководство по примерам Python
В этом примере вы узнаете, как проверить, является ли n-разрядное целое число Armstrong числом.
Чтобы понять этот пример, вы должны знать следующееPython программированиеТема:
Целое положительное число называется амстердамской степенью, n если
abcd... = an + bn + cn + dn + ...
Если амстердамское число 3 знаков, то сумма кубов каждого числа равна самому числу. Например:
153 = 1*1*1 + 5*5*5 + 3*3*3 // 153 — это амстердамское число.
# Проверка амстердамского числа на 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 часть числа — это его последние цифры. Мы используем оператор степеней для многоуровневых данных.
В конце концов, мы сравниваем общую сумму с исходным числом и делаем вывод, что если они равны, то это амстердамское число.
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 в исходном коде и затем запустить его снова для тестирования.