5.
Логические функции. Совершенные числа
Логические функции
Часто программисты используют логические функции, которые возвращают логические значения "истина" или "ложь" (
true или
false)
Такие функции полезны для того, чтобы проверить какое-либо свойство.
Рассмотрим два примера записи логической функции, которая проверяет число на четность.
Описание |
Пример подпрограммы |
1) Лучший способ: результат выражения n % 2 == 0 будет истина (True) или ложь (False) |
def isEven(n):
return (n % 2 == 0)
|
2) Можно и так записать, но более длинная запись и так лучше не делать |
def isEven(n):
if n % 2 == 0:
return True;
else:
return False
|
И последнее замечание по поводу работы с функциями и процедурами: количество функций и процедур в программе не ограничено. Кроме того, одна подпрограмма может вызывать другую подпрограмму и даже саму себя.
Совершенным называется число, равное сумме всех своих делителей, меньших его самого (например, число 6 = 1 + 2 + 3). Напишите программу, которая вводит натуральное число N
и определяет, является ли число N
совершенным. Используйте функцию для нахождения суммы делителей числа и логическую функцию для проверки является ли число совершенным или нет.
Входные данные
Входная строка содержит натуральное число N .
Выходные данные
Если число N – совершенное, программа должна вывести слово 'YES', иначе – слово 'NO'.
Примеры
№ |
Входные данные |
Выходные данные |
1 |
28 |
YES |
2 |
29 |
NO |
Вставьте недостающие фрагменты кода
Python
def SumOfDivisions(n):
|
|
def isPerfectNumber(n):
|
|
N = int(input())
|
|