41:数字统计

来源:互联网 发布:环普软件公寓租房 编辑:程序博客网 时间:2024/04/28 12:47

原题链接

总时间限制: 
1000ms 
内存限制: 
65536kB
描述

请统计某个给定范围[L, R]的所有整数中,数字2出现的次数。

比如给定范围[2, 22],数字2在数2中出现了1次,在数12中出现1次,在数20中出现1次,在数21中出现1次,在数22中出现2次,所以数字2在该范围内一共出现了6次。

输入
输入共 1 行,为两个正整数 L 和 R,之间用一个空格隔开。
输出
输出共 1 行,表示数字 2 出现的次数。
样例输入
样例 #1:2 22样例 #2:2 100
样例输出
样例 #1:6样例 #2:20
来源
NOIP2010复赛 普及组 第一题

源码

#include <iostream>using namespace std;int main(){// 0.定义变量及输入数据 int L,R,N=0,k;cin >> L >> R;// 1.循环处理从L到R的每个数字i for (int i=L;i<=R;i++){// 2.循环处理数字k中的每一位,判断是否为2k = i;while (k > 0){if (k%10 == 2) N++;k = k / 10; // 判断数字k的下一位 } } // 3.输出结果 cout << N << endl;return 0;}