Cod sursa(job #2000059)
| Utilizator | Data | 12 iulie 2017 16:25:06 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 20 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.44 kb |
#include <iostream>
#include <cstdio>
using namespace std;
bool viz[2000004];
unsigned long int k;
int main(){
freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);
unsigned long int n;
cin>>n;
for(unsigned long int i=2;i<=n;i++)if(!viz[i]){
unsigned long int temp=i*i;
if(temp>n)break;
else for(unsigned long int j=i;j<=n;j++)viz[j*i]=1;
}
for(unsigned long int i=2;i<=n;i++)if(!viz[i])k++;
cout<<k;
}
