
Задача по теме: "Поиск делителей"
Пусть М — разность максимального и минимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет, то считаем значение М равным нулю. Напишите программу, которая перебирает целые числа, большие 860 000, в порядке возрастания и ищет среди них такие, для которых значение М оканчивается на 18. Вывести первые пять найденных чисел и соответствующие им значения М.
Формат вывода: для каждого из пяти таких найденных чисел в отдельной строке сначала выводится само число, затем — значение М. Строки выводятся в порядке возрастания найденных чисел. Например, для числа 20.М = 10-2= 8.


Решение:
Для нахождения всех подходящих значений напишем программу:
#та самая функция нахождения делителей просто возвращающая разницу максимального и минимального
def M(x):
divs = []
for d in range(1, round(x**0.5)+1):
if x % d == 0:
divs += [d,x // d]
divs = sorted(set(divs))[1:-1]
return max(divs)-min(divs) if divs else 0
#алгоритм для подбора чисел подходящих условию задачи
cnt = 0
for x in range(860001, 10000000):
if str(M(x))[-2:] == '18':
cnt += 1
print(x, M(x))
if cnt == 5:
break
Ответ: 860040 430018 860163 286718 860219 27718 860240 430118 860440 430218
Сообщение об ошибке
Расскажите, в каком месте допущена ошибка, мы как можно быстрее её исправим. Спасибо за обратную связь!

МГ | Pro | ProMax | |
Практика на платформе | |||
Отслеживание прогресса обучения | |||
Двухуровневое домашнее задание после каждого вебинара | |||
Все материалы составлены экспертом ЕГЭ | |||
Персональный менеджер | |||
Личный куратор | |||
Разбор ошибок личным куратором | |||
Еженедельные созвоны с куратором для закрытия индивидуальных пробелов | |||
Составление индивидуального расписания |

счёта
средств
подтверждено!
Теперь вы можете приступить
к следующему уроку
курса по математике
замены
Для смены номера телефона
мы отправили Вам код по СМС,
введите его в поле ниже.
Электронная почта
На почту придет чек об оплатеНажимая кнопку "купить", Вы выражаете своё согласие с офертой оказания услуг и принимаете их условия
Здравствуйте!
Выберите информацию о себе ниже

Оплата прошла успешно!
