#include <iostream>
#include <vector>
int main() {
std::vector<int> primeNums(10001);
int n = 0;
int index = 0;
while (primeNums[primeNums.size() - 1] == 0) {
++n;
if ((n * n) % 24 == 1) {
primeNums[index] = n;
++index;
}
}
std::cout << primeNums[primeNums.size() - 1];
return 0;
}
(n * n) % 24 == 1
Что-то я не видал такого метода определения прайма. Числа 2 и 3 он не считает праймами, наверняка, и дальше есть расхождения.#include <iostream>
bool is_prime(int n) {
for (int i = 2; i <= n / 2; i++) {
if (n % i == 0) return false;
}
return true;
}
int main()
{
int count = 10001, prime = 0, res = 0;
for(int i = 2; i < 1000000; ++i) {
if(is_prime(i)) ++prime;
if(count == prime) {
res = i;
break;
}
}
std::cout << res;
return 0;
}