#8272: 為何會RE???


xxoo (萌想之戀)

學校 : 不指定學校
編號 : 35423
來源 : [115.43.217.203]
最後登入時間 :
2013-10-21 16:52:25
a007. 判斷質數 | From: [115.43.217.203] | 發表日期 : 2013-10-03 18:42

#include <iostream>
#include <cmath>

#define N 100000

using namespace std;


void primeTable(bool p[])
{
for(int k = 0; k <= N; k++){
p[k] = true;
}
bool isPrime;
p[0] = false;
p[1] = false;
for(int i = 2; i <= N; i++){
isPrime = true;
for(int j = 2; j < (i / 2 + 1) && isPrime; j++){
if( i % j == 0){
isPrime = false;
}
if(!isPrime == true){
p[i] = false;
}
}
}
}


int main()
{
int n;
bool prime[N];
primeTable(prime);
while(!(cin >> n).eof()){
if(prime[n] == true){
cout << "質數" << endl;
}
else{
cout << "非質數" << endl;
}
}
return 0;
}

在DEV C++執行可以過...但跑在這網頁就出現RE..求解

另外是當N=2147483647,連DEV C++都沒辦法跑出來 求解

 
#8277: Re:為何會RE???


rosynirvana (rosynirvana)

學校 : 不指定學校
編號 : 33880
來源 : [182.114.3.244]
最後登入時間 :
2017-07-24 00:02:04
a007. 判斷質數 | From: [58.246.157.240] | 發表日期 : 2013-10-04 01:42

#include
#include

#define N 100000

using namespace std;


void primeTable(bool p[])
{
for(int k = 0; k <= N; k++){
p[k] = true;
}
bool isPrime;
p[0] = false;
p[1] = false;
for(int i = 2; i <= N; i++){
isPrime = true;
for(int j = 2; j < (i / 2 + 1) && isPrime; j++){
if( i % j == 0){
isPrime = false;
}
if(!isPrime == true){
p[i] = false;
}
}
}
}


int main()
{
int n;
bool prime[N];
primeTable(prime);
while(!(cin >> n).eof()){
if(prime[n] == true){
cout << "質數" << endl;
}
else{
cout << "非質數" << endl;
}
}
return 0;
}

在DEV C++執行可以過...但跑在這網頁就出現RE..求解

另外是當N=2147483647,連DEV C++都沒辦法跑出來 求解

bool prime[N];

for(int k = 0; k <= N; k++){
p[k] = true;

} 

 
ZeroJudge Forum