标签:
Acm队的流年对数学的研究不是很透彻,但是固执的他还是想一头扎进去。
浏览网页的流年忽然看到了网上有人用玫瑰花瓣拼成了521三个数字,顿时觉得好浪漫,因为每个男生都会不经意的成为浪漫的制造者。此后,流年走到哪里都能看到5、2、1三个数字,他怒了,现在他想知道在连续的数中有多少数全部包含了这三个数字。例如12356就算一个,而5111就不算。特别的,如果他看到了521三个数连续出现,会特别的愤怒。例如35210。
200 500 300 900 1 600
Case 1:2 0 Case 2:2 1 Case 3:6 1
1 #include<stdio.h>
2 #include<string.h>
3 #include<stdlib.h>
4 char ch[20];
5 int biao[2][1000100];
6 int main()
7 {
8 int i,total=0,sum=0;
9 memset(biao,0,sizeof(biao));
10 for(i=1;i<1000001;i++)
11 {
12 sprintf(ch,"%d",i);
13 if(strstr(ch,"1")!=NULL&&strstr(ch,"2")!=NULL&&strstr(ch,"5")!=NULL)
14 sum++;
15 if(strstr(ch,"521")!=NULL)
16 total++;
17 biao[0][i]=sum;
18 biao[1][i]=total;
19 }
20 int a,b,k=1;
21 while(~scanf("%d %d",&a,&b))
22 {
23 printf("Case %d:%d %d\n",k,biao[0][b]-biao[0][a-1],biao[1][b]-biao[1][a-1]); //因为这边WRONG了无数次,可以理解为给满足条件的数标号,0[0].1[1].2[1],3[3] num[3]-num[2]就应 为1个 ,因为这里的下标为计数器(满足条件的是1,不是2),所以要用[a-1];
24 k++;
25 }
26 return 0;
27 }
标签:
原文地址:http://www.cnblogs.com/fengshun/p/4574875.html