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

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

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

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

Задача 1#13988

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

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

Решение Python

Мы ищем числа с ровно двумя натуральными делителями. Такие числа — это простые числа: они делятся только на 1 и на само себя.

Алгоритм решения:

1. Задаём диапазон чисел от 12345 до 54321 включительно.

2. Для каждого числа i  проверяем, является ли оно простым:

   - Перебираем все возможные делители j  от 2 до √ -
  i  включительно.

     - Мы можем ограничиться корнем числа, потому что если число i  делится на j  , то существует парный делитель i∕j  . Все делители, превышающие корень, будут уже учтены в виде парного делителя.

   - Если мы находим делитель j  , число не простое, ставим флаг в False и прерываем цикл.

3. Если флаг остался True, число простое, увеличиваем счётчик.

4. В конце выводим количество найденных простых чисел.

ans = 0  # Счётчик простых чисел

# Перебираем все числа в диапазоне от 12345 до 54321 включительно
for i in range(12345, 54322):
    flag = True  # Предполагаем, что число простое
    # Проверяем наличие делителей от 2 до корня числа включительно
    for j in range(2, int(i ** 0.5) + 1):
        if i % j == 0:  # Если найден делитель
            flag = False  # Число не простое
            break  # Прерываем проверку
    if flag:  # Если число простое
        ans += 1  # Увеличиваем счётчик

print(ans)  # Выводим количество простых чисел в диапазоне

Ответ: 4051

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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