Пусть S — сумма всех натуральных делителей целого числа, не считая единицы и самого числа.
Пусть К — количество всех различных простых делителей целого числа, не считая самого числа.
Напишите программу, которая перебирает целые числа, превышающие 4 555 705 и не оканчивающиеся на 3, в порядке возрастания и ищет среди них такие, которые можно представить в виде суммы чисел соответствующих им значений S, К и некоторого натурального числа, оканчивающегося на 23.
В ответе запишите первые пять найденных чисел в порядке возрастания.
СтатГрад Вариант ИН2510501 14 апреля 2026 – задание №25
Решение:
Решение на Python
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
def prime(x): for d in range(2,int(x**0.5)+1): if x % d == 0: return False return True def f(x): a = set() for d in range(2,int(x**0.5)+1): if x % d == 0: a.add(d) a.add(x//d) return a for n in range(4_555_706,5_655_705): if n % 10 != 3: d = f(n) s = sum(d) k = len([x for x in d if prime(x)]) x = n - s - k if x > 0 and x % 100 == 23: print(n) |
Ответ:
4556054
4556805
4558124
4558712
4559054
