Cod sursa(job #1896866)
Utilizator | Data | 28 februarie 2017 22:38:08 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.5 kb |
#include<iostream>
#include<fstream>
#include<math.h>
using namespace std;
int main()
{
ifstream f("ciur.in");
ofstream g("ciur.out");
long n,i,j;
unsigned long a[200001];
int k=0;
f>>n;
for(i=2; i<=n; i++)
a[i]=1;
for(i=2; i<=sqrt(n);i++)
{
if(a[i]!=0)
{
for(j=i; j<=n/i; j++)
a[i*j]=0;
}
}
for(i=2;i<=n; i++)
if(a[i]!=0) k++;
f.close();
g<<k;
}