Я пытаюсь напечатать все простые числа до 2**32. Прямо сейчас я использую логический вектор для построения сита, а затем распечатываю простые числа после создания сита. Распечатка простых чисел до 1 миллиарда занимает 4 минуты. Есть ли более быстрый способ сделать это?? Вот мой код
#include
#include
#include
#include
using namespace std;
int main(int argc, char **argv){
long long limit = atoll(argv[1]);
//cin >> limit;
long long sqrtlimit = sqrt(limit);
vector sieve(limit+1, false);
for(long long n = 4; n
Подробнее здесь: https://stackoverflow.com/questions/189 ... -4-billion