我試圖解決一個斐波納契問題,並陷入舍入問題。紅寶石 - Sqrt是一個非常大的整數引起舍入問題
如果i = 8670007398507948658051921
然後fib1 = 19386725908489880000000000.0
。
我的代碼如下 - 感謝您的幫助。
def is_fibonacci?(i)
fib1 = Math.sqrt(5*(i**2)+4)
fib2 = Math.sqrt(5*(i**2)-4)
fib1 == fib1.round || fib2 == fib2.round ? true : false
end
你會更清楚發生什麼?特別是,1.你使用這個函數運行什麼命令? 2.結果如何?和3.你期望結果是什麼,爲什麼? – 2013-03-28 04:12:19