Cod sursa(job #152202)

Utilizator QbyxEros Lorand Qbyx Data 9 martie 2008 10:48:59
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <stdio.h>
#define nmax 2000000

int p[nmax];
long int i, k, n, j, r[1002];

int main()
{
    freopen("CIUR.IN", "rt", stdin);
    freopen("ciur.out", "wt", stdout);

    scanf("%li", &n);
    for (i = 1; i <= n; ++i)
	p[i] = 1;

    for (i = 2; i <= n; ++i)
	if (p[i])
	{
	    for (j = i + i; j <= n; j += i)
	    p[j] = 0;
	}

    for (i = n; i > 1 && k < 1001; --i)
	if (p[i])
	    r[++k] = i;

    for (i = k; i > 1; --i)
	printf("%d ", r[i]);

    fclose(stdin);    return(0);
}