大于long-long的数字 我编写了一个C++程序来生成斐波那契数列。这是1,1,2,3,5。。。系列此系列中的第300个号码是3595793252065835609617656651721889099052367214309267223225589801。这远远超出了int甚至unsigned long的限制。我怎样才能继续代表如此庞大的数字

大于long-long的数字 我编写了一个C++程序来生成斐波那契数列。这是1,1,2,3,5。。。系列此系列中的第300个号码是3595793252065835609617656651721889099052367214309267223225589801。这远远超出了int甚至unsigned long的限制。我怎样才能继续代表如此庞大的数字,c++,c++11,long-integer,C++,C++11,Long Integer,这是我的密码: 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];

这是我的密码:

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];
}
无符号长循环(int n)
{
//跟踪前两个数字
无符号多头价格[2];
prev[0]=1;
prev[1]=1;
//环路

对于(int i=2;i您需要从外部库下载,例如使用大数字库。搜索“c++大数字库”。如果您有256位或512位整数可用,您尤其需要这样的大数字库(如果您是为x64编译的,可能在SSE4或AVX扩展中),你可以使用它。但是,这些只能持续很长时间,因为斐波那契数是指数增长的。正如其他人所指出的,在某些情况下,你确实需要一个bignum库。此外,还有一种计算斐波那契数的方法(后面的部分给出了另一种计算斐波那契数的方法,这对计算机来说可能更好),但这也需要一个bignum库,因为大多数
长double
没有足够的精度位(甚至不会走得更远)@vasek是inspector Gadget创始人Bruno Bianchi的堂兄。你可以自己写,但使用现有的可能是个更好的主意,除非这是一个学术练习。很可能是这样,但如果是这样,重点似乎不是大人物。