我创建了一种迭代计算斐波那契数的方法(我不允许使用递归)。在索引 47 之后,我得到奇怪的结果:
斐波那契数 47:-1323752223
斐波那契数 48:512559680
斐波那契数 49:-811192543
斐波那契数 50:-298632863
我尝试了不同的方法,但它改变了整个事情。这是我的方法,有什么想法吗?希望您能够帮助我。
public static long fiboIterative(int n) {
if (n == 0)
return 0;
if (n == 1 || n == 2)
return 1;
int previous = -1;
int result = 1;
for (int i = 0; i <= n; i++) {
int sum = result + previous;
previous = result;
result = sum;
}
return result;
}
}