#7539: C, WA求解...


ds336687 (Denots)

學校 : 中原大學
編號 : 31229
來源 : [140.135.28.52]
最後登入時間 :
2013-03-08 00:29:34
a007. 判斷質數 | From: [140.135.28.52] | 發表日期 : 2013-03-07 22:16

#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 (小迷糊)

學校 : 不指定學校
編號 : 26613
來源 : [203.70.194.240]
最後登入時間 :
2013-07-29 09:30:29
a007. 判斷質數 | From: [203.70.194.240] | 發表日期 : 2013-03-08 13:41

#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是質數

 

 
ZeroJudge Forum