Дано натуральное число N найдите сумму всех простых делителей этого числа и проверьте, не является ли полученная сумма полиндродано натуральное число N найдите сумму всех простых делителей этого числа и проверьте, не является ли полученная сумма полиндромом Входные данные: натуральное число N, N<=10^4 Выходные данные: Программа должна вывести сумму всех простых делителей этого числа, если сумма является полиндромом, то вывести "да", в противном случае- "нет".
Для решения данной задачи можно использовать следующий код на Python:
def is_prime(n): if n < 2: return False for i in range(2, int(n**0.5) + 1): if n % i == 0: return False return True def sum_of_prime_divisors(n): sum = 0 for i in range(2, n+1): if n % i == 0 and is_prime(i): sum += i return sum def is_palindrome(n): return str(n) == str(n)[::-1] N = int(input()) sum_of_divisors = sum_of_prime_divisors(N) print(sum_of_divisors) if is_palindrome(sum_of_divisors): print("да") else: print("нет")
Пример:
Input:
24
Output:
5
нет
Input:
131
Output:
5
да
Input:
13
Output:
2
нет
Для решения данной задачи можно использовать следующий код на Python:
def is_prime(n):if n < 2:
return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
def sum_of_prime_divisors(n):
sum = 0
for i in range(2, n+1):
if n % i == 0 and is_prime(i):
sum += i
return sum
def is_palindrome(n):
return str(n) == str(n)[::-1]
N = int(input())
sum_of_divisors = sum_of_prime_divisors(N)
print(sum_of_divisors)
if is_palindrome(sum_of_divisors):
print("да")
else:
print("нет")