CSU 1030

 1 #include<stdio.h>
 2 #define range 1300000
 3 #define BOOL int    //必须把bool,true,false这样表示出来,不然会报编译错误...不知道为什么囧...
4 #define true 1 5 #define false 0 6 BOOL p[range]; 7 void judge () //筛法求素数
8 { 9 int i,j; 10 //long m; 11 p[0]=false;p[1]=true; 12 for(i=2;i<=range;i++) 13 { 14 p[i]=true; 15 } 16 for(i=2;i<=range;i++) 17 { 18 if(p[i]) 19 for(j=2*i;j<=range;j+=i) 20 { 21 p[j]=false; 22 } 23 } 24 } 25 int main() 26 { 27 int n; 28 scanf("%d",&n); 29 judge(); 30 while(n--) 31 { int i,j; 32 long m; 33 scanf("%ld",&m); 34 if(p[m]==true) 35 printf("0\n"); 36 else 37 { 38 for(i=m;;i--) 39 if(p[i]==true) 40 { 41 break; 42 } 43 for(j=m;;j++) 44 if(p[j]==true) 45 { 46 break; 47 } 48 printf("%d\n",j-i); 49 } 50 } 51 }

 

posted on 2014-05-10 01:13  薛定谔的熊猫  阅读(137)  评论(0编辑  收藏  举报

导航