login
Number of 10-almost primes less than or equal to 10^n.
10

%I #11 Nov 04 2024 09:30:04

%S 0,0,0,0,22,306,4016,49163,578154,6618221,74342563,823164388,

%T 9011965866,97765974368,1052666075366

%N Number of 10-almost primes less than or equal to 10^n.

%e There are 22 ten-almost primes up to 10000: 1024, 1536, 2304, 2560, 3456, 3584, 3840, 5184, 5376, 5632, 5760, 6400, 6656, 7776, 8064, 8448, 8640, 8704, 8960, 9600, 9728 & 9984.

%t AlmostPrimePi[k_Integer, n_] := Module[{a, i}, a[0] = 1; If[k == 1, PrimePi[n], Sum[PrimePi[n/Times @@ Prime[Array[a, k - 1]]] - a[k - 1] + 1, Evaluate[ Sequence @@ Table[{a[i], a[i - 1], PrimePi[(n/Times @@ Prime[Array[a, i - 1]])^(1/(k - i + 1))]}, {i, k - 1}]]]]]; (* _Eric W. Weisstein_, Feb 07 2006 *)

%t Table[AlmostPrimePi[10, 10^n], {n, 12}]

%o (Python)

%o from math import isqrt, prod

%o from sympy import primerange, integer_nthroot, primepi

%o def A120051(n):

%o def g(x,a,b,c,m): yield from (((d,) for d in enumerate(primerange(b,isqrt(x//c)+1),a)) if m==2 else (((a2,b2),)+d for a2,b2 in enumerate(primerange(b,integer_nthroot(x//c,m)[0]+1),a) for d in g(x,a2,b2,c*b2,m-1)))

%o return int(sum(primepi(10**n//prod(c[1] for c in a))-a[-1][0] for a in g(10**n,0,1,1,10))) # _Chai Wah Wu_, Nov 03 2024

%Y Cf. A066265, A014613, A116382.

%Y Cf. A006880, A036352, A109251, A114106, A114453, A120047, A120048, A120049, A120050, A120051, A120052, A120053, A116430.

%K nonn

%O 0,5

%A _Robert G. Wilson v_, Feb 07 2006

%E More terms from _Robert G. Wilson v_, Jan 07 2007