25.01 Делители числа
Ошибка.
Попробуйте повторить позже
Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку , числа,
имеющие ровно
натуральных делителей. Напишите в ответ все такие числа через пробел в порядке
возрастания.
По основной теореме арифметики (ОТА) каждое натуральное число, большее 1, можно разложить на простые множители.
То есть некоторое натуральное число можно разложить в следующий вид:
Здесь – некоторое простое число, а
– натуральный показатель степени. В таком случае число
обязательно имеет
делителей (каждое простое число можно брать от 0 до
раз, где
).
В данной задаче необходимо, чтобы у числа было ровно 11 натуральных делителей.
Тогда произведение всех должно быть равно 11. Так как число 11 – простое, то только 1 множитель должен быть
равен 11. Отсюда некоторое
.
Тогда число имеет вид где
– любое простое число.
Таким образом, нужно будет перебрать простые числа так, чтобы получить все возможные числа вида из отрезка
.
def is_prime(n): # Функция проверки на простое число for i in range(2, int(n ** 0.5) + 1): if n % i == 0: # Если нашли нетривиальный делитель return False # То число не простое, возвращаем False return n > 1 # Если число равно 1, то оно непростое, и будет возвращено False, а иначе True ans = [] # Список чисел для ответа # Нужно перебрать все числа вида x = p**10, где p - простое число # Находим максимально возможное p для отрезка p_max = int(987654321 ** (1 / 10)) # Перебираем простые числа от 2 до максимально возможного for p in range(2, p_max + 1): if is_prime(p): # Если число p - простое # То проверяем, что итоговое число будет принадлежать отрезку if 123456789 <= p ** 10 <= 987654321: ans.append(p ** 10) print(*sorted(ans)) # Выводим ответ в порядке возрастания
Специальные программы

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

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

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

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

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

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