详情: | 请统计某个给定范围[L, R]的所有整数中,数字2出现的次数。 比如在给定范围[2, 22],数字2在数2中出现了1次,在数12中出现了1次,在数20中出现了1次,在数21中出现了1次,在数22中出现了2次,所以数字2在该范围内一共出现了6次。 |
输入格式: |
输入共一行,为两个正整数L和R,之间用一个空格隔开。 |
输出格式: |
输出共1行,表示数字2出现的次数。 |
看到这题目的第一眼,感觉好复杂。。。觉得应该是个数学的问题,要不要统计每个阶段的2的那种。。。
后来,才发现,它竟是如此简单。我觉得你一定想的到。其实就是暴力,然后通过取余得到一个数的每位数字才判断。
代码如下:
#include <stdio.h>
int main()
{
int n,m,k,count = 0;
scanf("%d%d",&n,&m);
for(int i = n;i <= m;i++)
{
k = i;
while(k)
{
if(k%10==2)
{
count++;
}
k = k/10;
}
}
printf("%d",count);
return 0;
}