.
This commit is contained in:
parent
8cb939e654
commit
32703548cc
2 changed files with 14 additions and 12 deletions
24
isprime.l
24
isprime.l
|
@ -22,17 +22,19 @@
|
|||
# Probabilistic prime check
|
||||
(de prime? (N X)
|
||||
(default X 32)
|
||||
(and
|
||||
(> N 1)
|
||||
(bit? 1 N)
|
||||
(let (Q (dec N) K 0)
|
||||
(until (bit? 1 Q)
|
||||
(setq
|
||||
Q (>> 1 Q)
|
||||
K (inc K) ) )
|
||||
(do X
|
||||
(NIL (_prim? N Q K))
|
||||
T ) ) ) )
|
||||
(or
|
||||
(== N 2)
|
||||
(and
|
||||
(> N 1)
|
||||
(bit? 1 N)
|
||||
(let (Q (dec N) K 0)
|
||||
(until (bit? 1 Q)
|
||||
(setq
|
||||
Q (>> 1 Q)
|
||||
K (inc K) ) )
|
||||
(do X
|
||||
(NIL (_prim? N Q K))
|
||||
T ) ) ) ) )
|
||||
|
||||
# (Knuth Vol.2, p.379)
|
||||
(de _prim? (N Q K)
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
(let
|
||||
(N (hex (cdr (assoc "value" L)))
|
||||
R (cdr (assoc "result" L))
|
||||
I (prime? N 64) )
|
||||
I (prime? N) )
|
||||
(prin ".")
|
||||
(flush)
|
||||
(cond
|
||||
|
|
Loading…
Reference in a new issue