In quanti modi riusciamo a scrivere il crivello di Eratostene?

Massimo Masson max@studiomasson.it
Ven 29 Ott 2010 01:01:26 CEST


Il 28/10/2010 13.47, Gianluca Moro ha scritto:
> ciao,
>
> la domanda vera e': quanto tempo possiamo dedicare a giocare :-D
> allego una soluzione.

^_^

Mi sa che hai centrato la questione... ;)

[...]
> ;bash-3.2$ mit-scheme -load eratostene.scm
[...]

Ecco che si comincia a divertirsi!!!
Scheme, non c'ho capito nulla!!! Bello! ;) :) :D

Visto che è uscito un primo linguaggio funzionale, riporto una versione 
con funzione lambda in Python (che è la sua espressione, appunto, 
"funzionale") non scritta da me, trovata in rete, ma che mi ha colpito 
per compattezza: fino ad ora è il crivello più breve che ho visto (anche 
se tradisce la filosofia di chiarezza di Python, perché sembra quasi più 
codice offuscato... :D )

Eccolo:

 >>> primes = lambda l: l and l[:1] + primes([n for n in l if n % l[0]])
 >>> primes(range(2,100))

A mia parziale discolpa, gli orari assurdi in cui scrivo... e quando 
avrò un po' di tempo, via a studiare linguaggi funzionali... ;)

'notte,
max.


Maggiori informazioni sulla lista blug