Cod sursa(job #145258)

Utilizator savimSerban Andrei Stan savim Data 28 februarie 2008 17:26:40
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <stdio.h>
int np,nr,i,j,k,n;
int v[200010];
bool prim[2000010];

int main()
{

    
    freopen("ciur.in","r",stdin);
    freopen("ciur.out","w",stdout);
    
    scanf("%d",&n);    

    np=0;
    for (i=2; i<=n; i++)
    {
        if (prim[i]==0)
        {
           np++;
           v[np]=i;j=i;
           while (j+i<=n)
           {
               j+=i;
               prim[j]=1;
           }
        }
    }
    printf("%d\n",np);
    for (i=1; i<=np; i++)
        printf("%d ",v[i]);
    printf("\n");
    return 0;    
}