Cod sursa(job #2162191)
Utilizator | Noroc Andrei Mihail andreiutu111 | Data | 12 martie 2018 08:54:15 |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 70 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.44 kb |
#include<bits/stdc++.h>
using namespace std;
ifstream f("ciur.in");
ofstream g("ciur.out");
int N,nr;
bool viz[2000001];
void ciur(){
for(int i=2;i<sqrt(N)+1;++i)
if(!viz[i]){
++nr;
int j=2;
while(i*j<=N)viz[i*j]=1,++j;
}
for(int i=sqrt(N)+1;i<=N;++i)
if(!viz[i])
++nr;
}
int main()
{
f>>N;
ciur();
g<<nr;
return 0;
}