1 #include 2 using namespace std; 3 4 int main() 5 { 6 int n,ans=0; 7 cin>>n; 8 for(int i=1;i<=(1<<9);i++)//10位数,考虑每位取0.1转成2进制表示 9 { 10 int t=0; 11 for(int j=9;j>=0;j--)t=t*10+((i>>j)&1);//还原这位数字; 12 if(t<=n)ans++; 13 } 14 cout<endl; 15 }