I have made a code for NTHPRIME and it works fine for me, but SPOJ gets Time Limit Exceeded. Can someone help me a bit?
Heres code:
#include <iostream>
using namespace std;
bool prime(long long n){
if(n == 0 or n == 1){
return 0;
}else if (n == 2){
return 1;
}else
{
for(long long k = 2; k < n; k++){
if (n%k == 0){
return 0;
}
if (k+1 == n){
return 1;
}
}
}
}
long long n, i;
int main() {
cin >> n;
if (n == 1){
cout << "2" << endl;
return 0;
}
for(i = 2; n > 0; i++){
if (prime(i)) n--;
if (n == 0) cout << i << endl;
}
return 0;
}