数字统计
题目描述
请统计某个给定范围[L,R]的所有整数中,数字2出现的次数。
比如给定范围[2,22],数字2在数2中出现了1次,在数21中出现1次,在数22中出现2次,所以数字2在该范围内一共出现了6次。
输入格式
2个正整数L和R,之间用一个空格隔开。
输出格式
数字2出现的次数。
样例输入一
2 22
样例输出一
6
样例输入二
2 100
样例输出二
20
说明/提示
1≤L≤R≤100000。
解法一
1 #include <iostream> 2 using namespace std; 3 4 int cnt=0;//用于统计一共多少个2 5 void word(int x)//此函数来拆分数位以及判定2的个数 6 { 7 while(x>0) 8 { 9 if(x%10==2) 10 { 11 cnt++; 12 } 13 x/=10; 14 } 15 } 16 17 int main () 18 { 19 int l,r; 20 cin>>l>>r; 21 for(int i=l;i<=r;i++) 22 { 23 word(i); 24 } 25 cout<<cnt; 26 return 0; 27 }
楼楼“多此一举”用函数是帮助理解惹。
特别注意哦,在数学中,[n,m]表示n到m之间,包括n和m;
但是(n,m)表示n到m之间,不包括n和m。
还有[n,m)和(n,m],分别为包括n不包括m和不包括n包括m。
它们都表示一个区间~
关于区间的更多相关知识,可见百度百科~