c++中的长-长输出


#include<iostream>
using namespace std;
long long num;
long long dp[90];

int solve(int a)
{
dp[0]=1;
dp[1]=1;
for(int i = 2; i<a; i++)
{
dp[i] = dp[i-1] + dp[i-2];
}
return dp[a-1];
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
cin >> num;
solve(num);
cout << dp[num-1];//problem.
return 0;
}

因为dp大小在int中是oversize,所以我使用long-long类型。

当我习惯于";cout<lt;solve(num(";,i输入值为47;结果,我得到了错误(-29928302(

当我使用上面的代码("cout<<dp[num-1]"(时,我得到了正常值。

两者有什么不同?

solve()的返回类型是int而不是long long

相关内容

  • 没有找到相关文章

最新更新