2015-11-04 50 views
0

的總和於是我在紅寶石寫了一個基本的程序,計算第n個斐波納契數:如何紅寶石計算龐大的數字

def fib(n) 
    return 0 if n == 0 
    nums = [0, 1] 
    for i in 2..n do 
    nums.push(nums[i-1] + nums[i-2]) 
    end 
    return nums[n] 
end 

現在我可以很容易地basicly叫它什麼數n我喜歡,fx 200000。

所以我只是徘徊紅寶石怎麼做到這一點?它如何能夠計算出如此龐大的數字並給出正確的結果?

+0

https://en.wikipedia.org/wiki/Arbitrary-precision_arithmetic – PSkocik

+0

我不知道你在做什麼。 Ruby是一種計算機語言。計算機擅長計算,這就是爲什麼他們被稱爲計算機。爲什麼它*不會給出正確的結果? –

+0

因爲在大多數語言中會發生溢出或數字將表示爲精度較差的浮點數。 – Eiiki

回答