Числа-близнецы — это такие простые числа, которые отличаются друг от друга на 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