给出一个数,判断不大于它的数中有多少个只由0,1组成
// 这种方法针对只给出一个数据非常容易,仅仅是单纯的DFS
#include<iostream>
#include<stdio.h>
#include<map>
using namespace std;
long long int ans = 0;
map<int ,int >vis;
int n;
void DFS(int x)
{
if(x > n)
return;
if(vis[x] ==1)
return ;
ans ++;
DFS(x*10);
DFS(x*10+1);
}
int main()
{
cin>>n;
DFS(1);
cout<<ans<<endl;
return 0;
}