1949:【10NOIP普及组】数字统计
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 8725 通过数: 6687
【题目描述】
请统计某个给定范围[L, R]的所有整数中,数字2 出现的次数。
比如给定范围[2, 22],数字2 在数2 中出现了1 次,在数12 中出现1 次,在数20 中出现1 次,在数21 中出现1 次,在数22 中出现2 次,所以数字2 在该范围内一共出现了6次。
【输入】
共1 行,为两个正整数L 和R,之间用一个空格隔开。
【输出】
共1 行,表示数字2 出现的次数。
【输入样例】
2 22
【输出样例】
6
【提示】
【输入输出样例2】
输入:
2 100
输出:
20
【数据范围】
1 ≤ L ≤ R≤ 10000。
思路:
首先读入L,r
然后循环从L到r
然后在循环里套一个循环,用来判断某个数有几个2
然后输出
代码:
#include <bits/stdc++.h>
using namespace std;
int l,r,i1,i2;
int main() {
ios::sync_with_stdio (0);
cin.tie (0);
cout.tie (0);
cin >> l >> r;//读入
for (int i = l;i <= r;i ++) {
i1 = i;//
for (;i1 > 0;) {//如果i1>0就一直循环
if (i1 % 10 == 2) {//如果末尾是2
i2 ++;//个数++
}
i1 /= 10;//抹去末尾
}
}
cout << i2;//输出个数
return 0;
}