Cod sursa(job #1073728)
| Utilizator | Data | 6 ianuarie 2014 19:18:29 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 30 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.48 kb |
#include <fstream>
#include <iostream>
#include <math.h>
using namespace std;
ifstream f("ciur.in");
ofstream g("ciur.out");
int ciur[2000001]= {0};
int main()
{
unsigned long long x,i,j;
f >> x;
for (i=2;i<=sqrt(x);i++)
{
if (ciur[i] == 0)
{
for (j=i+i;j<=x;j+=i)
if (ciur[j] == 0) ciur[j] = 1;
}
}
long k=0;
for (i=2;i<=x;i++)
if (ciur[i] == 0) ++k;
g << k ;
return 0;
}
