Fibonacci matrix-exponentiation: Difference between revisions

Content added Content deleted
No edit summary
Line 1,814: Line 1,814:
n = (2**h)
n = (2**h)
fib_Num=(Matrix[[ HeadTailBignum.new(0),1],[1,1]] ** (n))[0,1]
fib_Num=(Matrix[[ HeadTailBignum.new(0),1],[1,1]] ** (n))[0,1]
puts "Fibonacci(2^#{h.to_s}) = #{fib_Num.to_s} are #{fib_Num.exponent} degits"
puts "Fibonacci(2^#{h.to_s}) = #{fib_Num.to_s} are #{fib_Num.exponent} digits"
}
}
puts "Took #{Time.now - start_time}s"
puts "Took #{Time.now - start_time}s"
Line 1,820: Line 1,820:
{{out}}
{{out}}
<pre>
<pre>
Fibonacci(2^8) = 14169381771405651323 ... 19657707794958199867 are 54 degits
Fibonacci(2^8) = 14169381771405651323 ... 19657707794958199867 are 54 digits
Fibonacci(2^16) = 73199214460290552832 ... 97270190955307463227 are 13696 degits
Fibonacci(2^16) = 73199214460290552832 ... 97270190955307463227 are 13696 digits
Fibonacci(2^32) = 61999319689381859818 ... 39623735538208076347 are 897595080 degits
Fibonacci(2^32) = 61999319689381859818 ... 39623735538208076347 are 897595080 digits
Fibonacci(2^64) = 11175807536929528424 ... 17529800348089840187 are 609335284 degits
Fibonacci(2^64) = 11175807536929528424 ... 17529800348089840187 are 609335284 digits
Took 0.009357194s
Took 0.009357194s
</pre>
</pre>