>>215 Ruby require 'matrix' def hoge(a, b, c) rm, fm, im = Matrix[[1, 1], [1, 0]], Matrix[[1, 0], [0, 1]], Matrix[[b], [a]] (0..Float::INFINITY).each do |n| m = fm * im return m[1, 0] > c ? false : n if m[1, 0] >= c fm *= rm end end
p hoge(0,1,88) #=> false p hoge(0,1,89) #=> 11 p hoge(0,1,90) #=> false