Carmichael 3 strong pseudoprimes: Difference between revisions
Content added Content deleted
m (→{{header|REXX}}: elided an extra comment that was left over from an edit.) |
(Added EchoLisp) |
||
Line 252: | Line 252: | ||
61 x 241 x 421 |
61 x 241 x 421 |
||
61 x 3361 x 4021</pre> |
61 x 3361 x 4021</pre> |
||
=={{header|EchoLisp}}== |
|||
<lang scheme> |
|||
;; charmichaël numbers up to N-th prime ; 61 is 18-th prime |
|||
(define (charms (N 18) local: (h31 0) (Prime2 0) (Prime3 0)) |
|||
(for* ((Prime1 (primes N)) |
|||
(h3 (in-range 1 Prime1)) |
|||
(d (+ h3 Prime1))) |
|||
(set! h31 (+ h3 Prime1)) |
|||
#:continue (!zero? (modulo (* h31 (1- Prime1)) d)) |
|||
#:continue (!= (modulo d h3) (modulo (- (* Prime1 Prime1)) h3)) |
|||
(set! Prime2 (1+ ( * (1- Prime1) (quotient h31 d)))) |
|||
#:when (prime? Prime2) |
|||
(set! Prime3 (1+ (quotient (* Prime1 Prime2) h3))) |
|||
#:when (prime? Prime3) |
|||
#:when (= 1 (modulo (* Prime2 Prime3) (1- Prime1))) |
|||
(printf " 💥 %12d = %d x %d x %d" (* Prime1 Prime2 Prime3) Prime1 Prime2 Prime3))) |
|||
</lang> |
|||
{{out}} |
|||
<lang scheme> |
|||
(charms 3) |
|||
💥 561 = 3 x 11 x 17 |
|||
💥 10585 = 5 x 29 x 73 |
|||
💥 2465 = 5 x 17 x 29 |
|||
💥 1105 = 5 x 13 x 17 |
|||
(charms 18) |
|||
;; skipped .... |
|||
💥 902645857 = 47 x 3727 x 5153 |
|||
💥 2632033 = 53 x 53 x 937 |
|||
💥 17316001 = 53 x 157 x 2081 |
|||
💥 4335241 = 53 x 157 x 521 |
|||
💥 178837201 = 59 x 1451 x 2089 |
|||
💥 329769721 = 61 x 421 x 12841 |
|||
💥 60957361 = 61 x 181 x 5521 |
|||
💥 6924781 = 61 x 61 x 1861 |
|||
💥 6924781 = 61 x 61 x 1861 |
|||
💥 15247621 = 61 x 181 x 1381 |
|||
💥 99036001 = 61 x 541 x 3001 |
|||
💥 101649241 = 61 x 661 x 2521 |
|||
💥 6189121 = 61 x 241 x 421 |
|||
💥 824389441 = 61 x 3361 x 4021 |
|||
</lang> |
|||
=={{header|Haskell}}== |
=={{header|Haskell}}== |