prog.pl 883 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #!/usr/bin/perl
  2. # a(n) is the smallest centered n-gonal number with exactly n prime factors (counted with multiplicity).
  3. # https://oeis.org/A358926
  4. # Known terms:
  5. # 316, 1625, 456, 3964051, 21568, 6561, 346528
  6. # PARI/GP program:
  7. # a(n) = if(n<3, return()); for(k=1, oo, my(t=((n*k*(k+1))/2+1)); if(bigomega(t) == n, return(t))); \\ ~~~~
  8. use 5.020;
  9. use warnings;
  10. use ntheory qw(:all);
  11. use experimental qw(signatures);
  12. sub a($n) {
  13. for(my $k = 1; ;++$k) {
  14. my $v = divint(mulint($n*$k, ($k + 1)), 2) + 1;
  15. if (is_almost_prime($n, $v)) {
  16. return $v;
  17. }
  18. }
  19. }
  20. foreach my $n(3..100) {
  21. say "a($n) = ", a($n);
  22. }
  23. __END__
  24. a(3) = 316
  25. a(4) = 1625
  26. a(5) = 456
  27. a(6) = 3964051
  28. a(7) = 21568
  29. a(8) = 6561
  30. a(9) = 346528
  31. a(10) = 3588955448828761
  32. a(11) = 1684992
  33. a(12) = 210804461608463437
  34. a(13) = 36865024
  35. a(14) = 835904150390625
  36. a(15) = 2052407296