2020-06-13 08:50:57 +08:00

27 lines
457 B
C++

#include <iostream>
using namespace std;
int ans=0,a[10]={1,2,4,8,16,32,64,128,256,512};
void dg(int n,int last){
if(n==0){
ans++;
return ;
}
for(int i=last;i<=10;i++){
if(n-a[i]>=0){
dg(n-a[i],i);
}else{
break;
}
}
}
int main()
{
int n;
cin>>n;
for(int i=1;i<=20;i++){
ans=0;
dg(i,0);
cout<<ans<<endl;
}
}