semiprimes_search.pl 672 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #!/usr/bin/perl
  2. # Smallest "non-residue" pseudoprime to base prime(n).
  3. # https://oeis.org/A307809
  4. # Conjecture: all terms are semiprimes.
  5. use 5.020;
  6. use ntheory qw(:all);
  7. use warnings;
  8. use experimental qw(signatures);
  9. sub a($n) {
  10. my $q = nth_prime($n);
  11. my $found = undef;
  12. forsemiprimes {
  13. if (powmod($q, ($_-1)>>1, $_) == $_-1) {
  14. if (qnr($_) == $q) {
  15. $found = $_;
  16. lastfor;
  17. }
  18. }
  19. } ~0;
  20. return $found;
  21. }
  22. foreach my $n(1..20) {
  23. say "a($n) <= ", a($n);
  24. }
  25. __END__
  26. a(1) <= 3277
  27. a(2) <= 3281
  28. a(3) <= 121463
  29. a(4) <= 491209
  30. a(5) <= 11530801
  31. a(6) <= 512330281
  32. a(7) <= 15656266201