Присоединиться

11 класс·средний уровень

Пусть S — сумма всех натуральных делителей целого числа, не считая

Условие

Пусть S — сумма всех натуральных делителей целого числа, не считая единицы и самого числа.

Пусть K — количество всех различных простых делителей целого числа, не считая самого числа.

Напишите программу, которая перебирает целые числа, превышающие 4 333 795 и не оканчивающиеся на 9, в порядке возрастания и ищет среди них такие, которые можно представить в виде суммы чисел соответствующих им значений S, K и некоторого натурального числа, оканчивающегося на 29. В ответе запишите первые пять найденных чисел в порядке возрастания.

Ответ:

Ответ

Ответ и полный разбор откроются после входа

Посмотреть ответ

Решение по шагам

  1. Как рассуждать

    Решение. ##Приведём решение на языке Python.def f(x): # Находим все натуральные делители, не считая 1 и x divs = [] for i in range(2, int(x**0.5)+1): if x % i == 0: divs.append(i) if i != x // i: divs.append(x // i) # Находим уникальные простые делители (не считая самого x) primes = [] temp = x d = 2 while d * d <= temp: if temp % d == 0: if d != x: # Не считая самого числа primes.append(d) while temp % d == 0: temp //= d d += 1 if temp > 1 and temp != x: primes.append(temp) return divs, len(primes) count = 0for x in range(4_333_796, 5_000_000): # Числа не должны оканчиваться на 9 if x % 10 == 9: continue divs, K = f(x) S = sum(divs) N = x - S - K # N должно быть натуральным (>

Осталось ещё 1 шаг

  1. и оканчиваться на 29 if N > 0 and N % 100 ==…

Получить полное решение

Бесплатно · займёт минуту

Другие задачи по теме «Обработка целочисленной информации»