#8272: 為何會RE???


xxoo (萌想之戀)


#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)


#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;

}