递归遍历每一个情况
C++ 代码
#include <iostream>
using namespace std;
int ans = 0;
void a(int x) {
if (x == 0) {ans++; return;}
if(x >= 3)
a(x - 3);
if (x >= 2)
a(x - 2);
a(x - 1);
}
int main() {
int n;cin>>n;
a(n);
cout << ans;
return 0;
}