def prime?(n)
return false if n < 2
return true if n == 2 || n == 3
return false if n.even?
i = 3
while i * i <= n
return false if n % i == 0
i += 2
end
true
end
def next_fib(state)
f = state[0]
state[0], state[1] = state[1], state[0] + state[1]
f
end
fib_state = [1, 1]
count = 0
while count < 10
f = next_fib(fib_state)
if prime?(f)
print "#{f} "
count += 1
end
end
=begin
run:
2 3 5 13 89 233 1597 28657 514229 433494437
=end