Vijos P1848 记数问题【进制】

来源:互联网 发布:美橙域名查询 编辑:程序博客网 时间:2024/06/05 04:21

描述

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

格式

输入格式

输入共 1 行,包含 2 个整数 n、x,之间用一个空格隔开。

输出格式

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

样例1

样例输入1

11 1

样例输出1

4

限制

每个测试点1s。

提示

对于 100%的数据,1≤ n ≤ 1,000,000,0 ≤ x ≤ 9。

来源

NOIP 2013 普及组



问题链接:Vijos P1848 记数问题

问题分析

穷举法实现,没有什么技术含量。

一个数模除10的结果是该数的个位,一个数处以(整除)10的结果是该数10进制右移1位(去掉个位)。

程序说明

(略)


参考链接:(略)


AC的C++程序如下:

#include <iostream>using namespace std;int main(){    int n, x, ans, v;    cin >> n >> x;    ans = 0;    for(int i=1; i<=n; i++) {        v = i;        while(v) {            if(v % 10 == x)                ans++;            v /= 10;        }    }    cout << ans << endl;    return 0;}






0 0
原创粉丝点击