2009-01-10 20:56:34來源不明
ACM 406 Prime Cuts
我採用的方式為:先把所有的質數,存到INT陣列中,然後在用FOR去printf,此題沒有
尾巴有空格的話就錯的問題。
/**************************************************************/
- #include<stdio.h>
- #include<stdlib.h>
- #include<string.h>
- #include<math.h>
- main()
- {
- int a,b,c,m,n,temp;
- int x[1000],time=0;
- while(scanf("%d %d",&n,&c)==2)
- {
- time=0;
- for(a=1;a<=n;a++)
- {
- temp=0;
- for(b=1;b<=(int)sqrt(a);b++)
- {
- if(a%b==0)
- temp++;
- }
- if(temp==1)
- {x[time]=a;time++;}
- }
- printf("%d %d: ",n,c);
- if(time>c&&n!=c)
- {
- for(m=time/2-c+1*(time%2==1);m<(time/2+c);m++)
- {
- printf("%d ",x[m]);
- }
- }
- else
- for(m=0;m<time;m++)
- {
- printf("%d ",x[m]);
- }
- printf("\n");
- }
- return 0;
- }