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 中过大,所以我使用 long long 类型。

当我使用“cout

当我使用上面的代码(“cout

两者有什么不同?

解决方法

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