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


sa850354 (綠蔭)


 判斷質數
 
#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 (黑旋風)


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


sa850354 (綠蔭)


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


x=2,質數

x=3,質數

沒問題呀0.0 

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


justinj (黑旋風)


自己跑的時候的確是
輸入: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)


自己跑的時候的確是
輸入: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 (綠蔭)


自己跑的時候的確是
輸入: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了