Cod sursa(job #2201788)
Utilizator | Data | 6 mai 2018 01:35:30 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 40 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.46 kb |
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
int n,nr,b,a,v[2000001];
ifstream f("ciur.in");
ofstream g("ciur.out");
int main(){
f>>n;
a=sqrt(n);
for(int i=2;i<=a;i++){
if(v[i]==0){
b=i*i;
while(b<=n){
if(v[b]==0)nr++;
v[b]=1;
b=b+i;
}
}
}
g<<n-nr-1;
f.close();
g.close();
return 0;
}