#14918: ....


william100263 (HYT)

學校 : 臺北市私立延平高級中學
編號 : 80928
來源 : [114.25.224.13]
最後登入時間 :
2019-06-15 23:59:21
a007. 判斷質數 | From: [114.25.227.232] | 發表日期 : 2018-08-14 20:54

此提經確認後第一組側資為2,在我的程式中執行完全沒問題,但移到這裡就wa

 
#14919: Re:....


william100263 (HYT)

學校 : 臺北市私立延平高級中學
編號 : 80928
來源 : [114.25.224.13]
最後登入時間 :
2019-06-15 23:59:21
a007. 判斷質數 | From: [114.25.227.232] | 發表日期 : 2018-08-14 21:12

此提經確認後第一組側資為2,在我的程式中執行完全沒問題,但移到這裡就wa

前三筆確認是2 3 5

在我測試時完全沒問題,但一搬到上面就錯了

後來突發奇想把質數和非質數條件顛倒,反而line:2001才wa

 
#14921: Re:....


987654321a (unknown)

學校 : 不指定學校
編號 : 82609
來源 : [114.25.232.128]
最後登入時間 :
2018-08-17 18:39:13
a007. 判斷質數 | From: [114.25.227.232] | 發表日期 : 2018-08-14 23:08

此提經確認後第一組側資為2,在我的程式中執行完全沒問題,但移到這裡就wa

前三筆確認是2 3 5

在我測試時完全沒問題,但一搬到上面就錯了

後來突發奇想把質數和非質數條件顛倒,反而line:2001才wa

附上我的code

#include <iostream>

#include <cmath>

using namespace std;

int array[10000],check[47000]={0},n=-1;

void prime()

{

for(int i=2;i<=47000;i++)

{

if(check[i]==1) continue;

else

{

n++;

array[n]=i;

}

for(int j=i+i;j<=47000;j+=i)

{

check[j]=1;

}

}

}

int main()

{

ios::sync_with_stdio(0);

int a;

prime();

while(cin>>a)

{

int temp=0;

for(int i=0;i<=n;i++)

{

if(array[i]>sqrt(a)) break;

if(a%array[i]==0) {temp=1; break;} 

}

if(temp==1) cout<<"非質數\n";

else cout<<"質數\n";

}

}

 
ZeroJudge Forum