Cod sursa(job #2706563)

Utilizator UnknownPercentageBuca Mihnea-Vicentiu UnknownPercentage Data 15 februarie 2021 12:24:13
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.46 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 + 1];
	for(int i = 3;i <= N;i += 2){
		isprime[i] = 1;
	}

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

	g << primes;
}

int main(){

	f >> N;
	sieve();
}