Помогите пожалуйста с задачей на языке Python.
Назовём натуральное число подходящим, если ровно два из его делителей входят в список (11, 13, 17, 19). Определите количество подходящих чисел, принадлежащих отрезку [11 000; 22 000], а также наименьшее из таких чисел. В ответе запишите два целых числа: сначала количество, затем, без разделительных знаков, наименьшее число.
Ответы
Программа:
Python:
count, min = 0, 22000
for i in range(11000, 22000 + 1):
tmp = 0
if i % 11 == 0: tmp += 1
if i % 13 == 0: tmp += 1
if i % 17 == 0: tmp += 1
if i % 19 == 0: tmp += 1
if tmp == 2:
count += 1
if i < min: min = i
print(f'{count}{min}')
Объяснение:
В начале регистрируем переменные count, min (названия говорят за их назначение). С помощью цикла пробегаемся по всем числам от 11000 до 22000 включительно. В начале присваиваем ещё одной переменной tmp значение ноль. Её значение будет увеличиваться на 1, если число i делится или на 11, или на 13, или на 17, или на 19. Вот если значение tmp равно ровно двум, значит делится на два из этих числа. Значит увеличиваем значение переменной count на 1. Если это число меньше минимального числа, присваиваем переменной min значение i. В конце выводим число count и min без разделительных знаков.
Результат:
27311011
(их количество - 273, а минимальное число - 11011).