1

フィボナッチ数列で、特定のポイントの後に負の数を取得していることに気付きました:

267914296 433494437 701408733 1134903170
1836311903 -1323752223 512559680 -811192543 -298632863 

これは、「int」の範囲が限られていることと関係がありますか? または私のコードに何か問題がありますか?

コードは次のとおりです。

using std::cout;

int main()
{

int n = 50, f1 = 0, f2 = 1, fn = 0, i = 0;

cout << "0 ";
for (i = 0; i < n; i++)
{
    fn = f1 + f2;
    f2 = f1;
    f1 = fn;

    cout << fn << " ";
}
4

3 に答える 3