第一版
#include "iostream"
using namespace std;
int main()
{
int intA,intB,intC;
while (cin >> intA){
int boolA = 1;
for(intB=2;intB<(intA>>1);intB++){
for(intC=1;intC<(intA>>1);intC++){
if(intA %(intB*intC)==0)
boolA= 0;
break;
}
}
if(boolA==1)
cout << "質數" << endl;
else
cout << "非質數" << endl;
}
return 0;
}
這版逾時超過兩秒第二版
#include "iostream"
#include "cmath"
using namespace std;
int main()
{
int intA,intB,intC;
while (cin >> intA){
int boolA = 1;
intC = (int)(sqrt((double)intA));
for(int i = 2; i<=intC;i++) {
if(intA % i == 0) {
boolA = 0;
break;
}
}
if(boolA==1)
cout << "質數" << endl;
else
cout << "非質數" << endl;
}
return 0;
}
這版也逾時了Q_Q
討論區有人用
沒有留言:
張貼留言