zoukankan      html  css  js  c++  java
  • Codeforce 9C

    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
    ", sum1);
    20     }
    21     return 0;
    22 }
  • 相关阅读:
    c#发送邮件
    时间戳转换成时间js(年-月-日,例如“2017-04-22”)
    c# 如何读取web.config中的内容(ConfigurationManager)
    fiddler抓包软件的使用--请求头--ajax
    c#之双色球
    天干地支象法
    php之属性重载和方法重载
    c#之线程随机
    C#之参数线程
    c#线程创建
  • 原文地址:https://www.cnblogs.com/ljmzzyk/p/7271882.html
Copyright © 2011-2022 走看看