請問一下,如何解決逾時問題??
#include <iostream>
#include <cmath>
using namespace std;
int main(){
int a, n, t=0;
while(cin>>a && (a>=2 && a<=2147483647)){
n=sqrt(a);
if(a%2==0){
if(a==2)
t=0;
else
t+=1;
}
for(int i=3; i<=n; i+=2){
if(a%i == 0)
t+=1;
}
if(t==0)
cout << "質數" << endl;
else
cout << "非質數" << endl;
}
return 0;
}