Пусть S — сумма всех натуральных делителей целого числа, не считая
Условие
Пусть S — сумма всех натуральных делителей целого числа, не считая единицы и самого числа.Пусть K — количество всех различных простых делителей целого числа, не считая самого числа.Напишите программу, которая перебирает целые числа, превышающие 4 333 795 и не оканчивающиеся на 9, в порядке возрастания и ищет среди них такие, которые можно представить в виде суммы чисел соответствующих им значений S, K и некоторого натурального числа, оканчивающегося на 29. В ответе запишите первые пять найденных чисел в порядке возрастания.Ответ:
Ответ
43338704334131433454543345544334611
Решение по шагам
Как рассуждать
Решение. ##Приведём решение на языке 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 шаг — откроются после входа:
- Шаг 2
Бесплатно · займёт минуту