Cod sursa(job #515107)
Utilizator | Data | 20 decembrie 2010 13:42:25 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.37 kb |
#include<stdio.h>
int main()
{long n,i,v[500001],t,j,k;
freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);
scanf("%ld",&n);
for(i=2;i<=n;i++)
v[i]=i;
t=n-1;
for(i=2;i<=n;i++)
if(v[i]!=1)
{j=i;
for(k=2;k*j<=n;k++)
if(v[j*k]!=1)
{v[j*k]=1;
t--;}}
printf("%ld\n",t);
fclose(stdin);
fclose(stdout);
return 0;}