Cod sursa(job #998271)
| Utilizator | Data | 16 septembrie 2013 17:32:23 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.54 kb |
#include<fstream>
using namespace std;
FILE*in;
ofstream out("ciur.out");
long int N, i, j, numar, OK, v[200], p, JACK, poz;
int main()
{
in=fopen("ciur.in","r");
fscanf(in,"%d",&N);
for (i=1; i<N; i++)
v[i]=i+1;
JACK=1;
p=2;
poz=1;
while (JACK)
{
OK=p;
for (i=1; i<N; i++)
if ((v[i]%p==0) & (v[i]>p))
v[i]=-1;
for (j=poz+1; j<N; j++)
if (v[j]!=-1)
{
p=v[j];
break;
poz=j;
}
if (p==OK)
JACK=0;
}
for (i=1; i<N; i++)
if (v[i]!=-1)
numar++;
out<<numar;
return 0;
}
