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

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

Задача 1#30241

Числа-близнецы — это такие простые числа, которые отличаются друг от друга на 2  . Найдите все пары чисел-близнецов в диапазоне [17 000 000; 23 000 000], сумма которых будет кратна 50000  . В ответ запишите найденные пары, числа в которых записаны по возрастанию.

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

Неэффективное решение

def prime(x):
    for i in range(2, int(x**0.5)+1):
        if x % i == 0:
            return False
    return True
ans = 0
flag = True
for i in range(17000000, 23000000+1):
    if prime(i):
        if flag:
            last = i
            flag = False
        else:
            if i - last == 2:
                if (last + i) % 50000 == 0:
                    print(last, i)
            last = i

Эффективное решение

def prime(x):
    for i in range(2, int(x**0.5)+1):
        if x % i == 0:
            return False
    return True

# Мы знаем, что в ответе x и x + 2 — простые числа с
# суммой кратной 50000, то есть x + x + 2 = 50000t
# то есть x = 25000t - 1.
# t можно оценить как правая граница // 25000
for i in range(1, 23*10**6 // 25000):
    x = 25000*i - 1
    if 17*10**6 <= x <= 23*10**6 - 2:
        if prime(x) and prime(x + 2):
            print(x, x + 2)

Ответ: 22049999 22050001 22424999 22425001 22574999 22575001 22949999 22950001

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

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

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

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

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

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

Бесплатное обучение
в Школково

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

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

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

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

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

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

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

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