struct Euler{ vector<int>primes; vector<bool>comp; Euler(int n){ comp.resize(n + 1); for(int i = 2; i <= n; i++){ if(!comp[i]) primes.emplace_back(i); for(int j = 0; i * primes[j] <= n; j++){ comp[i * primes[j]] = true; if(!(i % primes[j])) break; } } } };
|