<br>Some code optimization was done, while not necessary for the small default number ('''61'''), it was significant for larger numbers.
<lang rexx>/*REXX program calculates Carmichael 3─strong pseudoprimes (up to and including N). */
numeric digits 3018 /*handle big dig #s (9 is the default).*/
parse arg N .; if N=='' then N=61 /*allow user to specify for the search.*/
tell= N>0; N=abs(N) /*N>0? Then display Carmichael numbers*/
$=0 /*display a list of some Carmichael #s.*/
do j=bot to top by 2 while tell; if @.j==0 then iterate; $=1
say '──────── a Carmichael number: ' p "∙" j '∙' @.j
end /*j*/
if $ then say /*show a blank line for beautification.*/
end /*p*/
say
say; '──────── ' say carms ' " Carmichael numbers found.'"
exit /*stick a fork in it, we're all done. */
/*──────────────────────────────────────────────────────────────────────────────────────*/
'''output''' when using the default input:
<pre style="height:65ex">
──────── a Carmichael number: 3 ∙ 11 ∙ 17
──────── a Carmichael number: 75 ∙ 3113 ∙ 7317▼
──────── a Carmichael number: 75 ∙ 7317 ∙ 10329▼
──────── a Carmichael number: 135 ∙ 9729 ∙ 42173▼
──────── a Carmichael number: 57 ∙ 13 ∙ 1719
──────── a Carmichael number: 57 ∙ 1719 ∙ 2967
──────── a Carmichael number: 57 ∙ 2923 ∙ 7341
──────── a Carmichael number: 197 ∙ 19931 ∙ 27173▼
──────── a Carmichael number: 317 ∙ 27173 ∙ 601103▼
──────── a Carmichael number: 713 ∙ 1337 ∙ 1961
──────── a Carmichael number: 713 ∙ 1961 ∙ 67397
──────── a Carmichael number: 713 ∙ 2397 ∙ 41421
▲──────── a Carmichael number: 7 ∙ 31 ∙ 73
▲──────── a Carmichael number: 7 ∙ 73 ∙ 103
──────── a Carmichael number: 1317 ∙ 3741 ∙ 61233
──────── a Carmichael number: 1317 ∙ 61353 ∙ 3971201
▲──────── a Carmichael number: 13 ∙ 97 ∙ 421
──────── a Carmichael number: 1719 ∙ 4143 ∙ 233409
──────── a Carmichael number: 1719 ∙ 353199 ∙ 1201271
──────── a Carmichael number: 1923 ∙ 43199 ∙ 409353
▲──────── a Carmichael number: 19 ∙ 199 ∙ 271
──────── a Carmichael number: 2329 ∙ 199113 ∙ 3531093
──────── a Carmichael number: 4329 ∙ 433197 ∙ 643953▼
──────── a Carmichael number: 2931 ∙ 11361 ∙ 1093211
──────── a Carmichael number: 2931 ∙ 197151 ∙ 9531171
──────── a Carmichael number: 6131 ∙ 181 ∙ 1381331▼
──────── a Carmichael number: 6131 ∙ 271 ∙ 571601▼
──────── a Carmichael number: 31 ∙ 991 ∙ 15361 ▼
──────── a Carmichael number: 3137 ∙ 6173 ∙ 211109
──────── a Carmichael number: 3137 ∙ 151109 ∙ 11712017
──────── a Carmichael number: 3137 ∙ 181613 ∙ 3311621
▲──────── a Carmichael number: 31 ∙ 271 ∙ 601
▲──────── a Carmichael number: 31 ∙ 991 ∙ 15361
──────── a Carmichael number: 3741 ∙ 7361 ∙ 109101
──────── a Carmichael number: 3741 ∙ 10973 ∙ 2017137
──────── a Carmichael number: 3741 ∙ 613101 ∙ 1621461
──────── a Carmichael number: 5341 ∙ 157241 ∙ 521 ▼
──────── a Carmichael number: 4341 ∙ 547881 ∙ 67312041▼
──────── a Carmichael number: 4341 ∙ 6311721 ∙ 159735281▼
──────── a Carmichael number: 4143 ∙ 61127 ∙ 101211
──────── a Carmichael number: 4143 ∙ 73211 ∙ 137337
──────── a Carmichael number: 4143 ∙ 101271 ∙ 4615827
──────── a Carmichael number: 4143 ∙ 241433 ∙ 521643
──────── a Carmichael number: 4143 ∙ 881547 ∙ 12041673
──────── a Carmichael number: 4143 ∙ 1721631 ∙ 352811597
──────── a Carmichael number: 43 ∙ 3361 ∙ 3907 ▼
──────── a Carmichael number: 4347 ∙ 1271151 ∙ 2111933
──────── a Carmichael number: 4347 ∙ 2113359 ∙ 3376073
──────── a Carmichael number: 4347 ∙ 2713727 ∙ 58275153
▲──────── a Carmichael number: 43 ∙ 433 ∙ 643
▲──────── a Carmichael number: 43 ∙ 547 ∙ 673
▲──────── a Carmichael number: 43 ∙ 631 ∙ 1597
▲──────── a Carmichael number: 43 ∙ 3361 ∙ 3907
──────── a Carmichael number: 4753 ∙ 115179 ∙ 1933599
──────── a Carmichael number: 4753 ∙ 3359157 ∙ 6073521
──────── a Carmichael number: 47 ∙ 3727 ∙ 5153
──────── a Carmichael number: 5359 ∙ 791451 ∙ 5992089
▲──────── a Carmichael number: 53 ∙ 157 ∙ 521
──────── a Carmichael number: 5961 ∙ 1451181 ∙ 20891381
──────── a Carmichael number: 61 ∙ 241 ∙ 421 ▼
──────── a Carmichael number: 61 ∙ 277271 ∙ 2113571▼
──────── a Carmichael number: 61 ∙ 541277 ∙ 30012113▼
──────── a Carmichael number: 61 ∙ 421 ∙ 12841 ▼
──────── a Carmichael number: 61 ∙ 661541 ∙ 25213001▼
──────── a Carmichael number: 61 ∙ 3361661 ∙ 40212521▼
──────── a Carmichael number: 61 ∙ 1301 ∙ 19841 ▼
▲──────── a Carmichael number: 4761 ∙ 37273361 ∙ 51534021
▲──────── a Carmichael number: 61 ∙ 181 ∙ 1381
▲──────── a Carmichael number: 61 ∙ 241 ∙ 421
▲──────── a Carmichael number: 61 ∙ 271 ∙ 571
▲──────── a Carmichael number: 61 ∙ 277 ∙ 2113
▲──────── a Carmichael number: 61 ∙ 421 ∙ 12841
▲──────── a Carmichael number: 61 ∙ 541 ∙ 3001
▲──────── a Carmichael number: 61 ∙ 661 ∙ 2521
▲──────── a Carmichael number: 61 ∙ 1301 ∙ 19841
▲──────── a Carmichael number: 61 ∙ 3361 ∙ 4021
──────── 69 Carmichael numbers found.
</pre>
'''output''' when using the input of: <tt> -1000 </tt>
|