问题描述
#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 中过大,所以我使用 long long 类型。
当我使用“cout
当我使用上面的代码(“cout
两者有什么不同?
解决方法
solve()
的返回类型是 int
而不是 long long
。