prog.sf 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #!/usr/bin/ruby
  2. # The number of n-almost primes less than or equal to 8^n, starting with a(0)=1.
  3. # https://oeis.org/A116428
  4. # Known terms:
  5. # 1, 4, 22, 125, 669, 3410, 16677, 78369, 359110, 1612613, 7133274, 31185350, 135062165, 580556958, 2480278767, 10542976739, 44626102826, 188215850830, 791374442571
  6. # New terms:
  7. # a(19) = 3318478309647
  8. # a(20) = 13882441625034
  9. # a(21) = 57952990683107
  10. #`{
  11. # PARI/GP program:
  12. almost_prime_count(N, k) = if(k==1, return(primepi(N))); (f(m, p, k, j=0) = my(c=0, s=sqrtnint(N\m, k)); if(k==2, forprime(q=p, s, c += primepi(N\(m*q))-j; j += 1), forprime(q=p, s, c += f(m*q, q, k-1, j); j += 1)); c); f(1, 2, k);
  13. a(n) = if(n == 0, 1, almost_prime_count(8^n, n)); \\ ~~~~
  14. }
  15. #for n in (0..100) {
  16. for n in (21) {
  17. say [n, n.almost_prime_count(8**n)]
  18. }
  19. __END__
  20. [0, 1]
  21. [1, 4]
  22. [2, 22]
  23. [3, 125]
  24. [4, 669]
  25. [5, 3410]
  26. [6, 16677]
  27. [7, 78369]
  28. [8, 359110]
  29. [9, 1612613]
  30. [10, 7133274]
  31. [11, 31185350]
  32. [12, 135062165]
  33. [13, 580556958]
  34. [14, 2480278767]
  35. [15, 10542976739]
  36. [16, 44626102826]
  37. [17, 188215850830]
  38. [18, 791374442571]
  39. [19, 3318478309647]
  40. [20, 13882441625034]
  41. [21, 57952990683107]