Cod sursa(job #2035411)
Utilizator | Data | 9 octombrie 2017 12:24:24 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.35 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("ciur.in");
ofstream out("ciur.out");
int n,k=1;
int main()
{in>>n;
bool a[n+1];
for(int i=2;i<=n;++i)
a[i]=true;
for(int i=2;i<=n/2+1;++i)
{
if(a[i]){
for(int j=i+i;j+i<=n;j+=i)
a[j]=false;
if(a[i]==1)++k;
}}
out<<k;
return 0;
}