prog.sf 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #!/usr/bin/ruby
  2. # a(n) is the smallest n-gonal pyramidal number with exactly n prime factors (counted with multiplicity).
  3. # https://oeis.org/A358865
  4. # Known terms:
  5. # 20, 140, 405, 2856, 25296, 111720, 25984, 5474000, 237600, 223826688, 3852800, 268565760, 1834725376, 175861400000, 335674368, 2863363937280, 4383831556096, 206015846400, 3400704000, 938209120583680, 2981338216980480, 21463949229465600, 45410367307776, 72056803765911552
  6. #`(
  7. # PARI/GP program:
  8. a(n) = if(n<3, return()); for(k=1, oo, my(t=(k*(k+1)*((n-2)*k + (5-n)))\6); if(bigomega(t) == n, return(t))); \\ ~~~~
  9. # PARI/GP program for A359016
  10. a(n) = if(n<3, return()); for(k=1, oo, my(t=(k*(k+1)*((n-2)*k + (5-n)))\6); if(bigomega(t) == n, return(k))); \\ ~~~~
  11. )
  12. func a(n) {
  13. for k in (1..Inf) {
  14. if (pyramidal(k, n).is_almost_prime(n)) {
  15. return pyramidal(k, n)
  16. }
  17. }
  18. }
  19. for n in (30..100) {
  20. say "a(#{n}) = #{a(n)}"
  21. }
  22. __END__
  23. a(22) = 938209120583680
  24. a(23) = 2981338216980480
  25. a(24) = 21463949229465600
  26. a(25) = 45410367307776
  27. a(26) = 72056803765911552
  28. a(27) = 4803826408397209600
  29. a(28) = 1536502117117468999680
  30. a(29) = 10823784744326529024
  31. __END__
  32. n = 27; k = 1048575
  33. n = 28; k = 7077888
  34. n = 29; k = 1339848