#9203: C語言出現WA...


ts870920 (No Name)


我的程式碼

#include <stdio.h>
#include <math.h>

int main()
{
   int x,i,j;
   while((scanf("%d",&x))!=EOF)
   {
       if(x<2||x>2147483647)
        printf("錯誤");

       for(i=2;i<x;i++)
       {
           if(x%i!=0)
           printf("質數\n");
           else if(x%i==0)
           printf("非質數\n");

           break;
       }
   }

   return 0;
}

個人感覺沒什麼錯...但就出現WA了...該如何修改呢?據說這題要用排列的方式打!?那是什麼?? 

#9204: Re:C語言出現WA...


ts870920 (No Name)


上面那個程式碼好像不能測1和2... 所以我用暴力法解 (還是不行阿=^=

 

#include <stdio.h>
#include <math.h>

int main()
{
   int x,i,j;
   while((scanf("%d",&x))!=EOF)
   {

       if(x<2)
        printf("非質數\n");
       else if(x==2)
       printf("質數\n");
       else{
       for(i=2;i<x;i++)
       {

           if(x%i!=0)
           printf("質數\n");
           else if(x%i==0)
           printf("非質數\n");

            break;
       }
       }
   }

   return 0;
}