prog.sf 651 B

123456789101112131415161718192021222324252627282930313233343536
  1. #!/usr/bin/ruby
  2. # a(n) is the least n-gonal number that is the product of n distinct primes, or 0 if there are none.
  3. # https://oeis.org/A359854
  4. # Known terms:
  5. # 6, 66, 0, 11310, 303810, 28962934, 557221665, 15529888374, 1219300152070
  6. func a(n) {
  7. return 0 if (n == 4)
  8. for k in (1..Inf) {
  9. if (k.polygonal(n).is_squarefree_almost_prime(n)) {
  10. return k.polygonal(n)
  11. }
  12. }
  13. }
  14. for n in (2..100) {
  15. say "a(#{n}) = #{a(n)}"
  16. }
  17. __END__
  18. a(2) = 6
  19. a(3) = 66
  20. a(4) = 0
  21. a(5) = 11310
  22. a(6) = 303810
  23. a(7) = 28962934
  24. a(8) = 557221665
  25. a(9) = 15529888374
  26. a(10) = 1219300152070
  27. a(11) = 23900058257790
  28. a(12) = 1231931106828345