from_lcm.pl 1.5 KB

12345678910111213141516171819202122232425262728293031
  1. #!/usr/bin/perl
  2. use 5.014;
  3. use Math::GMPz;
  4. use ntheory qw(forsemiprimes forprimes factor forsquarefree random_prime divisors gcd next_prime);
  5. use Math::Prime::Util::GMP qw(mulint is_pseudoprime vecprod divint sqrtint vecprod);
  6. #my $k = "495088126122885";
  7. #my $k = "19976310800932286865"; # record
  8. #my $k = vecprod(3, 5, 17, 23, 29, 43, 53, 89, 113, 127, 157, 257);
  9. #my $k = vecprod(3, 5, 17, 23, 29, 43, 53, 89, 113, 127, 157, 257, 353, 397, 449);
  10. my $k = vecprod(3, 5, 17, 23, 29, 43, 53, 89, 113, 127, 157, 257);
  11. #my $n = "97492561525843375414411984711690826244618218549082363628202417811869034234870968105413397502977";
  12. #my $n = "13757974351340992129905979322929973774675683422410013622969215110517423192617";
  13. #my $n = "492998637615524101988528566254824872883187100795158385773434977471920563361414751";
  14. #my $n = "343007266355769778384701673249549952892082965850160905177012001818058446029240481";
  15. #my $n = "32570940991344830846076116786757514876773522188233729072893528656637375859598588354317";
  16. #my $n = "1783678161425679359147266763387785520358862736924657051419350376424361065071938287397480735353585534563540084656470093";
  17. #my $n = "786769380874976962176734303050188467034887840304275124846721199585748921910091029860031756177";
  18. #my $n = "1611172416406363222443655272298918903139645660167379869658840681191970272250330666161";
  19. my $n = "213259970167095025136189836699535867809435285476249320300587187293474667197712227";
  20. foreach my $d(divisors($n)) {
  21. my $t = mulint($k, $d);
  22. if (is_pseudoprime($t, 2)) {
  23. say $t;
  24. }
  25. }