Напишите программу, которая вычисляет сумму всех делителей заданного натурального числа N и находит все нечетные делители этой суммы. Входные данные В первой строке входного файла Input.txt содержится одно число N (1<=N<=6*108). Выходные данные В выходной файл Output.txt вывести все нечетные делители в порядке возрастания.

29 Мая 2019 в 19:43
278 +1
0
Ответы
1

Функция для вычисления суммы всех делителей числа:

def sum_of_divisors(n):
total = 0
for i in range(1, n+1):
if n % i == 0:
total += i
return total

Функция для нахождения всех нечетных делителей суммы:

def odd_divisors(n):
result = []
for i in range(1, n+1):
if n % i == 0 and i % 2 != 0:
result.append(i)
return result

Чтение входных данных из файла и запись результата в файл:

with open('Input.txt', 'r') as file:
n = int(file.readline())
sum_divisors = sum_of_divisors(n)
odd_divisors_list = odd_divisors(sum_divisors)
with open('Output.txt', 'w') as file:
for divisor in odd_divisors_list:
file.write(str(divisor) + '\n')
21 Апр 2024 в 02:14
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир