Cod sursa(job #2706565)

Utilizator UnknownPercentageBuca Mihnea-Vicentiu UnknownPercentage Data 15 februarie 2021 12:27:01
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.48 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f("ciur.in");
ofstream g("ciur.out");

int N, primes;
void sieve(){

	bool *isprime = new bool[N + 2];
	for(int i = 3;i <= N;i += 2){
		isprime[i] = 1;
	}

	if(N >= 2) primes++;

	for(int i = 3;i <= N;i += 2)
		if(isprime[i]){
			//cout << ">";
			primes++;
			for(long long j = 1LL * i * i;j <= N;j += i)
				isprime[j] = 0;
		}

	delete[] isprime;

	g << primes;
}

int main(){

	f >> N;
	sieve();
}