Задача к ЕГЭ по информатике на тему «Особые числа (простые, фибоначи, факториал, палиндромы)» №1

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

def prime(x):  # функция для проверки, что число - простое
if x == 1:return False
    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(2500000, 3500000+1):
    if prime(i): # проверка, что текущее число - простое
        if flag: # если ранее простое число мы не встречали
            last = i # запоминаем значение последнего встретишевгося нам простого числа
            flag = False # убираем флаг, который отвечал за то, встречалось нам ли ранее просто число
        else: #в ином случае
            if i - last == 2: # если разность между текущим простым числом и тем, что встречали ранее равна 2
                if (last + i) % 50000 == 0: # проверка по условию
                    print(last, i)
            last = i

Ответ: 3149999 3150001
Оцените статью
Я решу все!