数字大于长

时间:2017-09-26 16:12:47

标签: c++ c++11 long-integer

我正在编写一个C ++程序来生成一系列Fibonacci数。这是1,1,2,3,5 ......系列。本系列的第300个数字是359579325206583560961765665172189099052367214309267232255589801.这远远超出int甚至unsigned long long的限制。我怎样才能继续代表如此庞大的数字?

这是我的代码:

unsigned long long FibLoop(int n)
{
    // Keep track of previous two numbers
    unsigned long long prev[2];
    prev[0] = 1;
    prev[1] = 1;

    // Loop
    for(int i = 2; i <= n; i++)
    {
        prev[i % 2] = prev[0] + prev[1];
        cout << i << "\t" << prev[i % 2] << endl;
    }

    // Return
    return prev[n % 2];
}

1 个答案:

答案 0 :(得分:2)

您需要从 BoostMultiprecision

等外部库下载