我目前對我的斐波那契計算有以下代碼。我試圖計算大量數據,但是一旦它達到100,就會出現計算結果。對於fib(100),我的代碼返回3736710778780434371,但是當我查看其他來源時,它告訴我正確的計算應該是354224848179261915075.我的代碼中是否存在問題,還是與我的計算機硬件或其他問題有關?Golang斐波那契計算出現關閉
package main
import "fmt"
func fib(N uint) uint{
var table []uint
table = make([]uint, N+1)
table[0] = 0
table[1] = 1
for i := uint(2); i <= N; i += 1 {
table[i] = table[i-1] + table[i-2]
}
return table[N]
}
func main() {
fmt.Println(fib(100))
}
只是一個額外的例子,使用'檢查階乘代碼數學/ big' @ HTTPS ://github.com/OneOfOne/go-utils/blob/master/math/fact.go。 – OneOfOne 2014-11-08 22:49:55