#6753: 懇請大大解惑,菜鳥迷思(C++)


sa850354 (綠蔭)

學校 : 不指定學校
編號 : 26267
來源 : [220.135.38.212]
最後登入時間 :
2012-10-05 20:36:21
a007. 判斷質數 | From: [1.164.16.215] | 發表日期 : 2012-07-09 23:51

 判斷質數
 
#include <cmath>
#include <iostream>
using namespace std;

int main()
{
    int x,i,t=0;
    while(cin>>x){
    for(i=2;i<=sqrt(x);i++) 
    {
    if(x%i==0){
    t=0;
    break;
    }
    else{
    t=1;
    }
    }
    cout<<(t==1?"質數":"非質數")<<endl;
    }
    return 0;
}
 
自己跑的時候的確是
輸入:13
輸出:質數
輸入:14
輸出:非質數 
 
但是解題狀況
 
WA (line:21)
答案不正確
您的答案為: 非質數 
正確答案為: 質數 
 
有大大能為我解惑嗎?我程式碼哪邊有問題? 
 
#6756: Re:懇請大大解惑,菜鳥迷思(C++)


justinj (黑旋風)

學校 : 不指定學校
編號 : 25287
來源 : [218.166.250.61]
最後登入時間 :
2014-12-09 10:38:00
a007. 判斷質數 | From: [122.146.194.243] | 發表日期 : 2012-07-10 11:10

自己跑的時候的確是
輸入:13
輸出:質數
輸入:14
輸出:非質數 
 
但是解題狀況
 
WA (line:21)
答案不正確
您的答案為: 非質數 
正確答案為: 質數 
 
有大大能為我解惑嗎?我程式碼哪邊有問題?
 
x=2,x=3輸入看看
 
 
#6757: Re:懇請大大解惑,菜鳥迷思(C++)


sa850354 (綠蔭)

學校 : 不指定學校
編號 : 26267
來源 : [220.135.38.212]
最後登入時間 :
2012-10-05 20:36:21
a007. 判斷質數 | From: [114.42.86.38] | 發表日期 : 2012-07-10 11:52

自己跑的時候的確是
輸入:13
輸出:質數
輸入:14
輸出:非質數 
 
但是解題狀況
 
WA (line:21)
答案不正確
您的答案為: 非質數 
正確答案為: 質數 
 
有大大能為我解惑嗎?我程式碼哪邊有問題?
 
x=2,x=3輸入看看
 
 
 


x=2,質數

x=3,質數

沒問題呀0.0 

 
#6758: Re:懇請大大解惑,菜鳥迷思(C++)


justinj (黑旋風)

學校 : 不指定學校
編號 : 25287
來源 : [218.166.250.61]
最後登入時間 :
2014-12-09 10:38:00
a007. 判斷質數 | From: [122.146.194.243] | 發表日期 : 2012-07-10 16:35

自己跑的時候的確是
輸入:13
輸出:質數
輸入:14
輸出:非質數 
 
但是解題狀況
 
WA (line:21)
答案不正確
您的答案為: 非質數 
正確答案為: 質數 
 
有大大能為我解惑嗎?我程式碼哪邊有問題?
 
x=2,x=3輸入看看
 
 
 


x=2,質數

x=3,質數

沒問題呀0.0 

是嗎?..你依我這個順序輸入一遍

4 2 5 2 4 3 5 3 4 1 5 1

 
#6763: Re:懇請大大解惑,菜鳥迷思(C++)


mike111187 (thunder-lightning)

學校 : 國立交通大學
編號 : 18823
來源 : [140.113.216.170]
最後登入時間 :
2017-08-01 04:54:53
a007. 判斷質數 | From: [114.39.23.153] | 發表日期 : 2012-07-10 22:18

自己跑的時候的確是
輸入:13
輸出:質數
輸入:14
輸出:非質數 
但是解題狀況
WA (line:21)
答案不正確
您的答案為: 非質數 
正確答案為: 質數 
有大大能為我解惑嗎?我程式碼哪邊有問題?
x=2,x=3輸入看看


x=2,質數

x=3,質數

沒問題呀0.0 

是嗎?..你依我這個順序輸入一遍

4 2 5 2 4 3 5 3 4 1 5 1


首先,t沒歸0

其次,如果數字過小(像2或3),sqrt(x)可能比i初始值大

這時i=初始值 0

t!=1  =>輸出非質數 !!

修改完這2點後,有傳過,AC

所以應該是這2點的問題

 
#6782: Re:懇請大大解惑,菜鳥迷思(C++)


sa850354 (綠蔭)

學校 : 不指定學校
編號 : 26267
來源 : [220.135.38.212]
最後登入時間 :
2012-10-05 20:36:21
a007. 判斷質數 | From: [114.45.210.34] | 發表日期 : 2012-07-13 10:26

自己跑的時候的確是
輸入:13
輸出:質數
輸入:14
輸出:非質數 
但是解題狀況
WA (line:21)
答案不正確
您的答案為: 非質數 
正確答案為: 質數 
有大大能為我解惑嗎?我程式碼哪邊有問題?
x=2,x=3輸入看看


x=2,質數

x=3,質數

沒問題呀0.0 

是嗎?..你依我這個順序輸入一遍

4 2 5 2 4 3 5 3 4 1 5 1


首先,t沒歸0

其次,如果數字過小(像2或3),sqrt(x)可能比i初始值大

這時i=初始值 0

t!=1  =>輸出非質數 !!

修改完這2點後,有傳過,AC

所以應該是這2點的問題

謝謝大大,解迷思,2樓與4樓大大說的提到的問題處理之後能正常AC了

 
ZeroJudge Forum