码迷,mamicode.com
首页 > 其他好文 > 详细

Codeforce 9C - Hexadecimal's Numbers

时间:2017-08-02 10:21:24      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:解题思路   一个   input   nat   includes   reason   info   log   repr   

One beautiful July morning a terrible thing happened in Mainframe: a mean virus Megabyte somehow got access to the memory of his not less mean sister Hexadecimal. He loaded there a huge amount of n different natural numbers from 1 to n to obtain total control over her energy.

But his plan failed. The reason for this was very simple: Hexadecimal didn‘t perceive any information, apart from numbers written in binary format. This means that if a number in a decimal representation contained characters apart from 0 and 1, it was not stored in the memory. Now Megabyte wants to know, how many numbers were loaded successfully.

Input

Input data contains the only number n (1 ≤ n ≤ 109).

Output

Output the only number — answer to the problem.

Example

Input

10

Output

2

Note

For n = 10 the answer includes numbers 1 and 10.

 

给你一个数,求1到这个数中有多少个只有1,0组成的数

解题思路:可以深搜,也可以直接构造

 

 1 #include<stdio.h>
 2 
 3 long long sum, sum1;
 4 
 5 void dfs(long long a) {
 6     if(sum<a)
 7         return ;
 8     sum1++;
 9     dfs(a*10);
10     dfs(a*10+1);
11 }
12 
13 int main() {
14     while(scanf("%lld", &sum)!=EOF) {
15         sum1 = 0;
16         
17         dfs(1);
18     
19         printf("%lld\n", sum1);
20     }
21     return 0;
22 }

 

Codeforce 9C - Hexadecimal's Numbers

标签:解题思路   一个   input   nat   includes   reason   info   log   repr   

原文地址:http://www.cnblogs.com/ljmzzyk/p/7271882.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!