25.01 Делители числа
Ошибка.
Попробуйте повторить позже
Найти первые 5 чисел, больших , которые имеют ровно 5 делителей. Запишите в ответ найденные числа в порядке
возрастания через пробел.
Обычное решение
def count_div(n): # функция для подсчёта количества делителей k = 2 for i in range(2, int(n ** 0.5) + 1): if n % i == 0: k += 1 if n // i != i: k += 1 if k > 5: # для оптимизации выходим из функции если кол-во делителей больше 5 return 0 return k counter = 0 for i in range(35799, 1000000000000): if count_div(i) == 5: counter += 1 print(i, end=’ ’) if counter == 5: break
Решение на основе ОТА
def is_prime(n): # функция для проверки, что число - простое for i in range(2, int(n ** 0.5) + 1): if n % i == 0: return False return n > 1 counter = 0 for i in range(1000): if is_prime(i) and i ** 4 > 35798 and counter < 5: print(i ** 4) counter += 1
Специальные программы

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

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

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

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

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

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