我的程序允许使用堆栈在某个位置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