题目描述
请统计某个给定范围[L, R]的所有整数中,数字2出现的次数。
比如给定范围[2, 22],数字2在数2中出现了1次,在数12中出现1次,在数20中出现1次,在数21中出现1次,在数22中出现2次,所以数字2在该范围内一共出现了6次。
示例1:
输入:
2 22
输出:
6
代码如下:
#include <stdio.h>
int judge(int x,int y){
int cnt=0;
for(;x<=y;x++){
int i=x;
while(i){
int n;
n=i%10;
i/=10;
if(n==2){
cnt++;
}
}
}
return cnt;
}
int main() {
int a,b;
scanf("%d %d",&a,&b);
int c=judge(a,b);
printf("%d",c);
return 0;
}
主要思路:
遍历输入的两个数之间的数,判断每位是否为数字2,如果是的话cnt++,当i为0时跳出while循环
今天的题目还是比较简单的,有更优化的思路可以评论区讨论噢~
喜欢的话点个赞吧~