25.01 Делители числа
Ошибка.
Попробуйте повторить позже
Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [;
], числа,
имеющие ровно
различных нечётных натуральных делителей. Для каждого числа выведите все эти семь делителей на
экран в порядке возрастания (для каждого числа с новой строки).
Решение через цикл:
Запустим цикл в рамках, заданных условием. Для каждого числа найдём делители от 1 до его корня, таким образом программа будет работать точно и быстро. Если нашли делитель - проверим, есть ли дополняющий к нему (поделив число на уже найденный). Берём только нечётные делители, вносим их в список, параллельно увеличивая счётчик. Если стало более 7 делителей - завершаем перебор, ведь смысла идти дальше нет. В конце, если попалось ровно 7 делителей, выведем их.
a = 198374 # Зададим границы цикла b = 295381 for i in range(a, b + 1): # +1 чтобы было включительно divs = [] # Массив, в который будем сохранять подходящие делители counter = 0 # Счетчик делителей числа for j in range(1, int(i**0.5) + 1): if i % j == 0: # Если нашли делитель if j % 2 == 1: # Если делитель нечетный, то он подходит divs.append(j) # Сохраняем делитель counter += 1 # Увеличиваем счётчик # Если дополняющий делитель нечетный # и мы его еще не добавили, то он подходит if i // j % 2 == 1 and j != i // j: divs.append(i // j) # Сохраняем делитель counter += 1 # Увеличиваем счётчи # Оптимизируем прогу, выпрыгиваем из чисел с большим числом делителей if counter > 7: break if counter == 7: # Если нашли нужное число # Выводим делители в порядке возрастания без [] print(*(sorted(divs)))
Специальные программы

Программа
лояльности v2.0
Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!
Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное онлайн-обучение
Для школьников из приграничных территорий России, проживающих в ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Курской, Брянской областях и Крыму.

Налоговые вычеты
Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей
Бесплатный доступ к любому курсу подготовки к ЕГЭ, ОГЭ и олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ
Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!