递归里的循环变量不能设成全局变量
#include <bits/stdc++.h>
using namespace std;
int n, m;
int f[1001];
int hhh(int x) {
if (x == 1)
return 1;
if (f[x]) {
// printf("f(%d)=%dtt\n", x, f[x]);
return f[x];
}
f[x] = 1;
for (int i = x / 2; i >= 1; i--) {
f[x] += hhh(i);
// printf("f(%d)=%d\n", x, f[x]);
}
return f[x] ;
}
int main() {
int hhh(int x);
f[1] = 1;
cin >> n;
cout << hhh(n);
}