int getPrime(int n, int lo, int hi){ //This block contains the most naive way to find the nth prime. /* for (int i = 0; primenum < n; i ++){ if (isPrime(i) == 1) primenum++; }*/ printf("%i + %i\n", lo, hi); lo = (unsigned long) lo; hi = (unsigned long) hi; unsigned long primeguess = (lo+hi)/2; unsigned long primeguessnum = primesBelow(primeguess); printf("%i, %i\n", primeguess, primeguessnum); if (primeguessnum == n){ while (isPrime(primeguess) == 0){ primeguess -= 1; } return primeguess; } else if (primeguessnum > n){ return getPrime(n, primeguess, hi); } else return getPrime(n, lo, primeguess); }
int main(){ //TODO: faster uint max = 12000; vector<ullint> p = primesBelow(max); uint n1 = 1, n2 = 1, d1 = 3, d2 = 2; uint count = 0; for(uint d = 3; d <= max ; d++){ uint c1 = ceil(n1 * d / d1); uint c2 = ceil(n2 * d / d2); for(uint n = c2; n > c1; n--){ cout << n << endl; if(HCF(n, d) == 1){ cout << "found" << endl; count++; } } cout << "maxed out bro" << endl; } cout << count << endl; return 0; }