我编写了一个小脚本来创建斐波那契数列并返回所有偶数的总和。
function even_fibo()
-- create Fibonacci sequence
local fib = {1, 2} -- starting with 1, 2
for i=3, 10 do
fib[i] = fib[i-2] + fib[i-1]
end
-- calculate sum of even numbers
local fib_sum = 0
for _, v in ipairs(fib) do
if v%2 == 0 then
fib_sum = fib_sum + v
end
end
return fib_sum
end
fib = even_fibo()
print(fib)
该函数创建以下序列:
1, 2, 3, 5, 8, 13, 21, 34, 55
并返回其偶数之和:44
但是,当我将停止索引从 更改为 时10
,100
返回for i=3, 100 do
的总和为负数-8573983172444283806
,因为值变得太大。为什么我的代码适用于10
而不适用于100
?