#7539: C, WA求解...


ds336687 (Denots)


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

int main()
{

    int num, i, d;
   
    while(scanf("%d", &num)!=EOF)
    {
        d=0;
        if(num%2==0)
            printf("非質數\n");                  
        else
        {
            for(i=3;i<=sqrt(num);i+=2)
                if(num%i==0)
                {
                    d=1;
                    break;
                }
           
            if(d==1)
                printf("非質數\n");
            else
                printf("質數\n");
        }
    }
    return 0;
}

 好不容易解決TEL的問題,但這樣寫為甚麼WA??

#7540: Re:C, WA求解...


akira0331 (小迷糊)


#include
#include
#include

int main()
{

    int num, i, d;
   
    while(scanf("%d", &num)!=EOF)
    {
        d=0;
        if(num%2==0)
            printf("非質數\n");                  
        else
        {
            for(i=3;i<=sqrt(num);i+=2)
                if(num%i==0)
                {
                    d=1;
                    break;
                }
           
            if(d==1)
                printf("非質數\n");
            else
                printf("質數\n");
        }
    }
    return 0;
}

 好不容易解決TEL的問題,但這樣寫為甚麼WA??


你的程式輸入2會是出來非質數,但是2是質數