In quanti modi riusciamo a scrivere il crivello di Eratostene?
Micky Del Favero
micky@mesina.net
Mar 26 Ott 2010 21:37:38 CEST
Massimo Masson <max@studiomasson.it> writes:
> Vale tutto, basta che sia una cosa che può girare su GNU/Linux! (C,
> Python, Perl, PHP, Bash, Lua, Haskell, assembly, SQL, Gambas, Mono,
> Javascript, e QUALSIASI ALTRA COSA conosciate o vi venga in mente)
>
> Allora, chi conosce il linguaggio più strano o ha l'idea più
> strampalata?
Augurandomi il mio post possa spronare i timidi a partecipare inizio io
con un algoritmo stupido scritto in bc (man bc per i dettagli):
micky@minnie:~/DaFare/BLUG/Crivello$ cat crivello.bc
max = 100
np = -1
for( i = 2; i <= max; i++ ){
setaccio[i] = i
}
limit = sqrt( setaccio[max] )
for( j = 2; j <= limit; j++){
if( setaccio[j] == np ){
continue
}
for( i = j + 1; i <= max; i++ ){
if( setaccio[i] == np ){
continue
}
if( ( setaccio[i] % setaccio[j] ) == 0 ){
setaccio[i] = np
}
}
setaccio[j]
}
for( i = j + 1; i <= max; i++ ){
if( setaccio[i] != np ){
setaccio[i]
}
}
halt
micky@minnie:~/DaFare/BLUG/Crivello$ bc -q crivello.bc
2
3
5
7
13
17
19
23
29
31
37
41
43
47
53
59
61
67
71
73
79
83
89
97
micky@minnie:~/DaFare/BLUG/Crivello$
Aspetto qualcuno posti una versione migliore della mia ;-)
Ciao, Micky
--
UNIX is basically a simple operating system, but you have to
be a genius to understand the simplicity. -- Dennis Ritchie
Maggiori informazioni sulla lista
blug