foggia2004

数字统计

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

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

 1 #include <iostream>
 2 #include <stdio.h>
 3 #include <math.h>
 4 
 5 int main(int argc, char** argv) {
 6     
 7     unsigned int l,r,i,j=1,temp,sum=0;
 8 
 9     scanf("%d %d",&l,&r);
10     /*int a[r];
11     for(i=0;i<r;i++)
12         a[i]=0;    
13         */
14     for(i=l;i<=r;i++)
15     {
16         j=1;
17         temp=i;
18         //非个位的2 
19         while(1)
20         {
21             //个位的2 
22             if(temp%10==2) 
23             {
24                 sum++;   
25                 //a[sum]=i;
26             }
27             temp=temp/10;
28             if(temp==2)
29             {
30                 sum++;
31                 //a[sum]=i;
32             }
33             if(temp>=10) continue;
34             else break;
35         }
36     }
37     printf("%d",sum);
38     /*printf("\n");
39     for(i=0;i<r;i++)
40     {
41         if(a[i]!=0)
42             printf("%4d,",a[i]);
43     }
44     */    
45     return 0;
46 }

 

posted on 2016-04-26 20:08  foggia2004  阅读(210)  评论(0)    收藏  举报

导航