zoukankan      html  css  js  c++  java
  • 记数问题

    Description

    试计算在区间1到n的所有整数中,数字x(0≤x≤9)共出现了多少次?例如,在1到11中,即在1、2、3、4、5、6、7、8、9、10、11中,数字1出现了4次。

    Input

    每组输入数据共1行,包含2个整数n、x,之间用一个空格隔开。1≤n≤1,000,000,0≤x≤9。

    Output

    每组输出共1行,包含一个整数,表示x出现的次数。

    Sample Input 1

    11 1

    Sample Output 1

    4

    Sample Input 2

    1000000 0

    Sample Output 2

    488895

    思路:假设输入n,这道题将1到n的所有数的二进制位取出来,如果等于题目第二个输入的数,则num++即可;

    代码如下:

     1 #include<iostream>
     2 using namespace std;
     3 
     4 
     5 
     6 long long int n ;
     7 long long int b ;
     8 long long int tmp;
     9 long long int a;
    10 long long int num;
    11 int main()
    12 {
    13     cin>>n;
    14     cin>>a;
    15     for(int i = 1 ; i <= n ;i++)
    16     {
    17         b = i;
    18         while(b!=0)
    19         {
    20             tmp = b%10;
    21             b/=10;
    22             if(a==tmp) num++;
    23         }
    24         
    25     }
    26     cout<<num;
    27     return 0;
    28 }
  • 相关阅读:
    标准I/O的缓冲
    Linux 的文件类型
    引用和指针
    信号-总结
    实时信号
    信号的其它特性
    信号处理器函数
    信号集 / 信号掩码(阻塞信号传递)
    显示信号描述
    发送信号
  • 原文地址:https://www.cnblogs.com/yewanting/p/10534082.html
Copyright © 2011-2022 走看看