Fibonacci数字开始消失

时间:2017-04-12 17:20:21

标签: c++ stack fibonacci largenumber

我的程序允许使用堆栈在某个位置n找到斐波那契数字但是当我在76之后键入一个位置时,数字开始从那里获得一个数字并且更大。这是我的算术:

for (int i = 2; i < nth; i++)
{

    if (nth == 1)
        return 1;
    else if (nth == 2)
        return 1;
    else
    n1 = fibStack.top();
    fibStack.pop();
    n2 = fibStack.top();
    fibStack.pop();

    temp = n1 + n2;
    fibStack.push(n2);
    fibStack.push(n1);
    fibStack.push(temp);

}

我使用了double type和precision来正确输出。 83的正确输出是:99194853094755497 我的代码输出的是:99194863094755488

0 个答案:

没有答案