我提交的代码和书上答案有点不一样,我的dp[2]=2,而按书上算的话dp[2]=1。我的也能通过。
#include <iostream> using namespace std; const int N = 91; long long dp[N]; void init(){ dp[0] = 0; dp[1] = 1; dp[2] = 2; for(int i = 3; i < N; i++){ dp[i] = dp[i-1] + dp[i-2]; } } int main(){ int n; while(cin >> n){ init(); printf("%lld\n", dp[n]); } }