How to find the first 10 prime Fibonacci numbers in Ruby

1 Answer

0 votes
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

 



answered 4 hours ago by avibootz
...