Предмет: Информатика,
автор: acumaqqq
Дружественные числа
Дружественные числа -– это два натуральных числа, таких, что сумма всех делителей одного числа (меньших самого этого числа) равна другому числу, и наоборот. Напишите программу, которая проверяет пару чисел на "дружественность". Используйте функцию, которая вычисляет сумму делителей числа.
Входные данные
Входная строка содержит два натуральных числа.
Выходные данные
Программа должна вывести слово 'YES', если полученные числа – дружественные, и слово 'NO' в противном случае.
Примеры
входные данные
220 284
выходные данные
YES
входные данные
1210 1092
выходные данные
NO
python
Ответы
Автор ответа:
1
def sum_of_divisors(n):
sum = 0
for i in range(1, n):
if n % i == 0:
sum += i
return sum
def are_friendly(a, b):
sum_a = sum_of_divisors(a)
sum_b = sum_of_divisors(b)
return sum_a == b and sum_b == a
a = int(input("Enter the first number: "))
b = int(input("Enter the second number: "))
if are_friendly(a, b):
print("YES")
else:
print("NO")
Похожие вопросы
Предмет: Математика,
автор: melnichukvasul13
Предмет: Українська мова,
автор: pliskaanna798
Предмет: Английский язык,
автор: markmporpannuct1
Предмет: Алгебра,
автор: daryayakov614