见代码如下
#include<bits/stdc++.h>
using namespace std;
long long a[100000],n;
long long f(long long n){
if(n==1||n==0) return 1;
if(a[n]==0)
for(int i=0;i<=n/2;i++) {
if(a[i]==0) a[i]=f(i);
a[n]=a[n]+a[i];
}
return a[n];
}
int main(){
cin>>n;
cout<<f(n);
return 0;
}