Пусть — сумма минимального и максимального натуральных делителей числа, не считая единицы и самого числа. Если таких делителей нет, то считаем значение равным нулю. Напишите программу, которая перебирает целые числа, бо́льшие 1000000, в порядке возрастания и ищет среди них такие, у которых оканчивается на 6. В ответе запишите в первом столбце таблицы первые пять найденных чисел в порядке возрастания, а во втором столбце — соответствующие значения .
Например, для числа .
Количество строк в таблице для ответа избыточно.
Решение:
Решение на Python:
def d(x):
dels = []
for i in range(2, int(x**0.5)+1):
if x % i == 0:
dels.append(i)
dels.append(x//i)
return dels
for x in range(1000001, 100000000):
dels = d(x)
if len(dels) > 0:
M = min(dels)+max(dels)
else:
M = 0
if M % 10 == 6:
print(x, M)
Ответ:
| 1000008 | 500006 |
| 1000009 | 3706 |
| 1000013 | 142866 |
| 1000028 | 500016 |
| 1000029 | 333346 |
Ответ: