实在看不出来了,求大佬回复
#include <bits/stdc++.h>
using namespace std;
int n, k, carry;
int f[5010][1010];
int main() {
cin >> n;
f[1][1] = 1;
f[2][1] = 2;
for (int i = 3; i <= n; i++) {
carry = 0;
for (int j = 1; j <= 1000; j++) {
f[i][j] = f[i-1][j] + f[i-2][j] + carry;
carry = f[i][j] / 10;
f[i][j] %= 10;
}
}
k = 1000;
while (k > 1 && f[n][k] == 0) k--;
for (int i = k; i >= 1; i--) {
cout << f[n][i];
}
return 0;
}