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

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

def prime(x):# функция для проверки, что число - простое
    for i in range(2, int(x**0.5)+1):
        if x % i == 0:
            return False
    return True

ans = 0
last = 0
flag = True # флаг, отвечающий за то, встречали ли мы ранее простое число
for i in range(500000, 1500000+1):
    if prime(i): # если число - простое
        if flag: # если ранее простое число мы не встречали
            last = i # записываем значение текущего числа в переменную
            flag = False # убираем флаг
        else: # если ранее мы уже встречали простое число
            if i - last == 2: # проверяем, что разность между двумя простыми числами равна 2
                ans += 1
            last = i
print(ans)

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