gpt4 book ai didi

c++ - 斐波那契数列溢出,C++

转载 作者:行者123 更新时间:2023-11-28 06:01:37 25 4
gpt4 key购买 nike

我想打印斐波那契数列中的前 100 个数字。我的程序打印到大约 20 个数字,然后数字变成负数。

有人可以向我解释一下并提供修复吗?

谢谢,

/*Fibonacci sequence*/

#include <iostream>

using namespace std;

int main(){
long int i, fib;
int firstNum=0, secondNum=1;

cout << firstNum << endl;
cout << secondNum << endl;

for (i=0; i < 100; i++){
fib = firstNum + secondNum;
firstNum = secondNum;
secondNum = fib;
cout << fib << endl;
}

return 0;
}

最佳答案

您看到的是整数溢出问题。 firstNum 和 secondNum 都不长。

这应该可以解决

    unsigned long long i, fib;
unsigned long long firstNum=0, secondNum=1;

编辑:

这将帮助您避免在第 20 个数字后溢出,但您的程序仍会溢出。您可以使用 unsigned long long,您将到达第 100 个序列元素。

关于c++ - 斐波那契数列溢出,C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33179674/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com