Cod sursa(job #660839)
| Utilizator | Data | 13 ianuarie 2012 13:43:44 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | winners14.1 | Marime | 0.41 kb |
#include<stdio.h>
#include<math.h>
char v[2000000007];
long n;
void ciur(long n)
{
long i,j;
v[0]=v[1]='1';
for (i=4;i<=n;i=i+2)
v[i]='1';
for (i=3;i<=sqrt(n);i=i+2)
if (v[i]==0)
for (j=i*2;j<=n;j=j+i)
v[j]='1';
}
int main()
{
freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);
scanf("%ld",&n);
long nr,i;
ciur(n);
for (i=1;i<=n;i++)
if (v[i]==0)
printf("%ld ",i);
printf("%ld",nr);
}
