此提經確認後第一組側資為2,在我的程式中執行完全沒問題,但移到這裡就wa
前三筆確認是2 3 5
在我測試時完全沒問題,但一搬到上面就錯了
後來突發奇想把質數和非質數條件顛倒,反而line:2001才wa
此提經確認後第一組側資為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";
}
}