login
Number of 10-almost primes k such that 2^n < k <= 2^(n+1).
8

%I #23 Sep 01 2024 10:29:14

%S 0,0,0,0,0,0,0,0,0,1,1,5,8,22,47,103,233,487,1072,2246,4803,10202,

%T 21440,45115,94434,197891,412010,858846,1783610,3700698,7665755,

%U 15853990,32750248,67564405,139238488,286625278,589472979,1211146741,2486322304

%N Number of 10-almost primes k such that 2^n < k <= 2^(n+1).

%H Chai Wah Wu, <a href="/A120041/b120041.txt">Table of n, a(n) for n = 0..47</a>

%F a(n) ~ 2^n log^9 n/(725760 n log 2). [_Charles R Greathouse IV_, Dec 28 2011]

%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 t = Table[AlmostPrimePi[10, 2^n], {n, 0, 39}]; Rest@t - Most@t

%o (Python)

%o from math import isqrt, prod

%o from sympy import primerange, integer_nthroot, primepi

%o def A120041(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 def almostprimepi(n,k): return int(sum(primepi(n//prod(c[1] for c in a))-a[-1][0] for a in g(n,0,1,1,k)) if k>1 else primepi(n))

%o return -almostprimepi(m:=1<<n,10)+almostprimepi(m<<1,10) # _Chai Wah Wu_, Aug 31 2024

%Y Cf. A046314, A036378, A120033, A120034, A120035, A120036, A120037, A120038, A120039, A120040, A120041, A120042, A120043.

%K nonn

%O 0,12

%A _Jonathan Vos Post_ and _Robert G. Wilson v_, Mar 21 2006