Cod sursa(job #304728)
Utilizator | Data | 15 aprilie 2009 08:54:52 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.34 kb |
#include<iostream.h>
#include<stdio.h>
FILE *f=fopen("ciur.in","r"),*g=fopen("ciur.out","w");
int main()
{
char a[2000001];
long n;
long nr=0;
fscanf(f,"%ld\n",&n);
long i,j;
for(i=2;i<=n;i++)
a[i]='1';
a[1]='0';
for(i=2;i<=n;i++)
if(a[i]=='1')
{
nr++;
for(j=i+i;j<=n;j+=i)
a[j]='0';
}
fprintf(g,"%ld ",nr);
return 0;
}