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 }