第一版
#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
討論區有人用
沒有留言:
張貼留言