home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
lifeos2.zip
/
LIFE-1.02
/
TESTS
/
LF
/
ERATOSTH.LF
< prev
next >
Wrap
Text File
|
1996-06-04
|
466b
|
28 lines
global(sieve)?
global(limit)?
main :-
write("N=?"),
read_token(limit & int),
next_prime(2),
nl.
remove_multiples(P,M) :-
cond(M<limit,
(sieve.M<-multiple_of(P),remove_multiples(P,M+P))).
next_prime(P) :-
P<limit,
!,
SP=sieve.P,
( SP=prime(P),
!,
write(P,' '),
remove_multiples(P,2*P)
;
succeed
),
next_prime(P+1).
next_prime(P).