prog.sf 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #!/usr/bin/ruby
  2. # a(n) is the index of the smallest tetrahedral number with exactly n prime factors (counted with multiplicity), or -1 if no such number exists.
  3. # https://oeis.org/A359090
  4. # Previously known terms:
  5. # 1, -1, 2, 4, 6, 8, 14, 30, 48, 62, 126, 160, 350, 510, 1022, 2046, 1024, 4095, 4094, 13310, 28672, 32768, 65534, 180224, 262142, 360448, 262143
  6. # New terms a(27)-a(34):
  7. # 2097151, 3276800, 4194302, 2097150, 33554432, 16777214, 66715648, 33554430
  8. #`(
  9. # PARI/GP program:
  10. a(n) = if(n==1, return(-1)); for(k=1, oo, my(t=(k*(k+1)*(k+2))\6); if(bigomega(t) == n, return(k))); \\ ~~~~
  11. )
  12. func a(n) {
  13. for k in (1..Inf) {
  14. if (pyramidal(k, 3).is_almost_prime(n)) {
  15. return k
  16. }
  17. }
  18. }
  19. for n in (2..100) {
  20. say "a(#{n}) = #{a(n)}"
  21. }
  22. __END__
  23. a(2) = 2
  24. a(3) = 4
  25. a(4) = 6
  26. a(5) = 8
  27. a(6) = 14
  28. a(7) = 30
  29. a(8) = 48
  30. a(9) = 62
  31. a(10) = 126
  32. a(11) = 160
  33. a(12) = 350
  34. a(13) = 510
  35. a(14) = 1022
  36. a(15) = 2046
  37. a(16) = 1024
  38. a(17) = 4095
  39. a(18) = 4094
  40. a(19) = 13310
  41. a(20) = 28672
  42. a(21) = 32768
  43. a(22) = 65534
  44. a(23) = 180224
  45. a(24) = 262142
  46. a(25) = 360448
  47. a(26) = 262143
  48. a(27) = 2097151
  49. a(28) = 3276800
  50. a(29) = 4194302
  51. a(30) = 2097150
  52. a(31) = 33554432
  53. a(32) = 16777214
  54. a(33) = 66715648
  55. a(34) = 33554430