Cod sursa(job #1010610)
| Utilizator | Data | 15 octombrie 2013 12:46:48 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 40 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.51 kb |
#include <iostream>
#include <cstdio>
using namespace std;
FILE *f,*g;
int main()
{
f=fopen("ciur.in","r");
g=fopen("ciur.out","w");
long n,i,nr=0;
char A[2000001];
fscanf(f,"%d",&n);
for(i=1;i<=n;i++)
{
A[i]=0;
}
int k,p=2;
while(p<=n)
{
if(A[p]==0)
{
k=p;
while(k<=n)
{
k=k+p;
A[k]=1;
}
}
p++;
}
A[2]=1;
for(i=1;i<=n;i++)
if(A[i]==0) nr++;
fprintf(g,"%d\n",nr);
return 0;
}
