#2420: 還不夠快嗎?


hkman (newhand)


#include<stdlib.h>
#include<stdio.h>
#include<math.h>
int main()
{
 int a,b,x;
 while(scanf("%d",&x)==1)
 {
 int flag=0;
  if(x%2==0&&x!=2) {printf("no\n");continue;}
  for(b=3;b<=sqrt(x);b=b+2)
  {
  if(x%b==0) {flag=1;break;}
  }
  if(flag==1) printf("no\n");
  else printf("yes\n");
 }
 return 0;
}

如何加速呢?

#2421: Re:還不夠快嗎?


david942j (文旋)


#include
#include
#include
int main()
{
 int a,b,x;
 while(scanf("%d",&x)==1)
 {
 int flag=0;
  if(x%2==0&&x!=2) {printf("no\n");continue;}
  for(b=3;b<=sqrt(x);b=b+2)
  {
  if(x%b==0) {flag=1;break;}
  }
  if(flag==1) printf("no\n");
  else printf("yes\n");
 }
 return 0;
}

如何加速呢?



建立質數表