def is_prime(n: int) -> bool:
if n < 2:
return False
if n in (2, 3):
return True
if n % 2 == 0:
return False
i = 3
while i * i <= n:
if n % i == 0:
return False
i += 2
return True
def next_fib(state: list[int]) -> int:
f = state[0]
nxt = state[0] + state[1]
state[0] = state[1]
state[1] = nxt
return f
fib_state = [1, 1]
count = 0
while count < 10:
f = next_fib(fib_state)
if is_prime(f):
print(f, end=" ")
count += 1
"""
run:
2 3 5 13 89 233 1597 28657 514229 433494437
"""