generate.pl 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #!/usr/bin/perl
  2. # Poulet numbers (Fermat pseudoprimes to base 2) k that have an abundancy index sigma(k)/k that is larger than the abundancy index of all smaller Poulet numbers.
  3. # https://oeis.org/A328691
  4. # Known terms:
  5. # 341, 561, 645, 18705, 2113665, 2882265, 81722145, 9234602385, 19154790699045, 43913624518905, 56123513337585, 162522591775545, 221776809518265, 3274782926266545, 4788772759754985
  6. use 5.014;
  7. use ntheory qw(:all);
  8. use Math::AnyNum;
  9. use Math::Prime::Util::GMP;
  10. my $prod = Math::GMPz->new("39021274060472705"); #vecprod(3, 5, 17, 23, 29, 43, 89, 127, 53, 1093);
  11. my $from = int(~0 / $prod);
  12. forsquarefree {
  13. my $psp = Math::Prime::Util::GMP::mulint($prod, $_);
  14. if ($_ > 1 and Math::Prime::Util::GMP::is_pseudoprime($psp, 2)) {
  15. say $psp, "\t-> ", (Math::AnyNum->new(divisor_sum($psp)) / $psp)->float;
  16. }
  17. } $from, $from + 1e7;
  18. __END__
  19. 1.0001 record: 1002127890483217
  20. 1.0055 record: 1002916662127381
  21. 1.4794 record: 1003835815663681
  22. 1.4959 record: 1306854803455201
  23. 1.6347 record: 1335393695093185
  24. 1.7476 record: 1790954650440865
  25. 1.8740 record: 1803741273816945
  26. 1.8849 record: 1914023821774065
  27. 1.9027 record: 44445311134962585
  28. 1.9067 record: 136836291472769505
  29. 1.9081 record: 2790959548188872985
  30. 1.9209 record: 3486467789908607505
  31. 1.9270 record: 6686415419518378545
  32. 1.9304 record: 6967562024635331505
  33. 1.9452 record: 38353281032877674865
  34. 1.9452 record: 2638294879881771254145
  35. 1.9454 record: 24773130788808935997465
  36. 1.9454 record: 429388072625313108651345
  37. 1.9459 record: 633708839387221385771985
  38. 1.9594 record: 4426632427184293146004185
  39. 1.9786 record: 30289748358904212366572385
  40. 1.9814 record: 728017010426459878356936705
  41. 1.9842 record: 34742187522900518220477982065
  42. 1.9856 record: 296874628838164374175009735905
  43. 1.9888 record: 282385466973939051351462060010785
  44. 1.9893 record: 303874597856107607075523212740305
  45. 1.9967 record: 95232935093163427870007414104051665
  46. 2.0027 record: 3470207934739664512679701940114447720865
  47. 2.0027 record: 35681625351759414447784656906886402710161726145
  48. 2.0036 record: 18324199296528369643710689094829325758885303308048705
  49. 2.0036 record: 3521782835397676946933688469202532605577443098683804760065
  50. 2.0075 record: 4480869812756224982980361246336523683775981809514868335105