In quanti modi riusciamo a scrivere il crivello di Eratostene?
Dino Del Favero
dino@mesina.net
Mar 26 Ott 2010 23:54:18 CEST
On Tue, Oct 26, 2010 at 09:37:38PM +0200, Micky Del Favero wrote:
> con un algoritmo stupido scritto in bc (man bc per i dettagli):
Io l'ho scritto in C senza b :-)
dino@vanessa:~/BLUG>cat ./crivello.c
#include <stdio.h>
main (int argc, char **argv)
{
if (argc == 1)
printf("Uso: %s [limite_superiore]\n", argv[0]);
else {
int limite = atoi(argv[1]);
int setaccio[limite], i, j, k;
for(i=0; i<limite; i++)
setaccio[i] = 1;
for(i=2; (i*i)<=limite; )
{
for(j=2; (k=(j*i))<=limite; j++)
setaccio[k] = 0;
for( ; !setaccio[++i] ; );
}
for(i=1; i<=limite; i++)
if (setaccio[i])
printf("%d\n", i);
}
}
dino@vanessa:~/BLUG>./crivello 100
2
3
5
7
11
13
17
19
23
29
31
37
41
43
47
53
59
61
67
71
73
79
83
89
97
dino@vanessa:~/BLUG>
Sicuramente altri parteciperanno ora che si � rotto il ghiaccio!
Saluti
Dino
--
We cannot direct the wind, but we can adjust the sails.
Non possiamo dirigere il vento, ma possiamo regolare le vele.
Maggiori informazioni sulla lista
blug