Тема 25. Обработка целочисленной информации

25.01 Делители числа

Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела обработка целочисленной информации
Решаем задачу:

Ошибка.
Попробуйте повторить позже

Задача 1#23512

Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [100100;300100]  , числа, имеющие ровно четыре различных натуральных делителя, не считая единицы и самого числа. Программа должна вывести количество таких чисел.

Показать ответ и решение

Решение Python

Сначала мы задаём диапазон чисел от 100100 до 300100 включительно, которые будем проверять на наличие ровно четырёх различных натуральных делителей, не считая единицы и самого числа.

Для каждого числа из диапазона мы считаем количество делителей:

1. Любое число i  делится на само себя и на 1, но мы их не учитываем.

2. Чтобы найти остальные делители, достаточно перебирать числа j  от 2 до √i-  включительно, потому что:

     - Если i  делится на j  , то существует парный делитель i∕j  .

     - Перебирая до корня, мы автоматически находим все делители числа.

3. Если j  и i∕j  различны, мы увеличиваем счётчик на 2, иначе на 1. Это учитывает как сам делитель, так и парный делитель.

После проверки всех делителей:

     - Если количество найденных делителей равно 4, увеличиваем общий счётчик подходящих чисел.

В конце выводим результат — количество чисел, у которых ровно четыре различных делителя, кроме единицы и самого числа.

ans = 0  # Счётчик подходящих чисел

# Перебираем все числа в диапазоне от 100100 до 300100 включительно
for i in range(100100, 300100 + 1):
    k = 0  # Счётчик делителей числа i, кроме 1 и самого i
    # Перебираем возможные делители от 2 до корня числа включительно
    for j in range(2, int(i ** 0.5) + 1):
        if i % j == 0:  # Если j делитель числа i
            k += 1  # Учёт делителя j
            if j != i // j:  # Если парный делитель отличается
                k += 1  # Учёт парного делителя i / j
    if k == 4:  # Если ровно 4 делителя, кроме 1 и самого числа
        ans += 1  # Увеличиваем счётчик подходящих чисел

print(ans)  # Выводим количество чисел с ровно 4 делителями

Ответ: 9266

Специальные программы

Все специальные программы

Программа
лояльности v2.0

Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!

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

Бесплатное онлайн-обучение

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

Налоговые вычеты

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

Специальное предложение
для учителей

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

Вернём деньги за курс
за твою сотку на ЕГЭ

Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!

cyberpunkMouse
cyberpunkMouse
Рулетка
Вы можете получить скидку в рулетке!