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