最简单的递推。
#include <iostream> #include <cstdio> using namespace std; void s(int n); int cnt=0; int main() { //freopen("in.txt","r",stdin); int a; while(scanf("%d",&a)!=EOF) { s(a); printf("%d\n",cnt ); } return 0; } void s(int n) { cnt++; for (int i = 1; i <=n/2; ++i) { s(i); } }