codevs 1126 数字统计 2010年NOIP全国联赛普及组 x

题目描述 Description

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

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

数据范围 1 ≤ L ≤ R≤ 10000。

输入描述 Input Description

输入共1 行,为两个正整数L 和R,之间用一个空格隔开。

输出描述 Output Description

输出共1 行,表示数字2 出现的次数。

样例输入 Sample Input

2 22

样例输出 Sample Output

6

 1 #include <iostream>
 2 
 3 using namespace std;
 4 
 5 int main() 
 6 {
 7     int a,b,c=0;
 8     cin>>a>>b;
 9     for(int i=a; i<=b; i++) //起止点(a,b) 
10     {
11         int p=i;
12         while(p>0) //当p比0大时 
13         {
14             if(p%10==2) //如果个位数上数字为2 
15             {
16                 c++;//计数++ 
17             }
18             if(p>10) p=p/10;//如果该时比10大,取下一位数 
19             else p=0;
20         }
21     }
22     cout<<c;
23     return 0;
24 }

 

posted @ 2017-04-19 21:44  夜雨声不烦  阅读(170)  评论(0编辑  收藏  举报