%I #41 Sep 01 2024 13:45:18
%S 1,2,3,5,8,14,23,39,64,103,169,269,427,676,1065,1669,2628,4104,6414,
%T 10023,15608,24281,37733,58503,90616,140187,216625,334527,516126,
%U 795632,1225641,1886570,2901796,4460359,6851532,10518476,16138642,24748319
%N Where 3^n occurs in n-almost primes, starting at a(0)=1.
%H Max Alekseyev, <a href="/A078843/b078843.txt">Table of n, a(n) for n = 0..50</a>
%H Eric Weisstein's World of Mathematics, <a href="http://mathworld.wolfram.com/AlmostPrime.html">Almost Prime</a>.
%F a(n) = a(n-1) + appi3(n-k, floor(3^n/2^k)), where k = ceiling(n*c) with c = log(5/3)/log(5/2) = 0.55749295065024006729857073190835923443... and appi3(k,n) is the number of k-almost primes not divisible by 3 and not exceeding n. - _Max Alekseyev_, Jan 06 2008
%e a(3) = 5 since 3^3 is the 5th 3-almost-prime: 8,12,18,20,27,....., A014612.
%t AlmostPrimePi[k_Integer /; k > 1, n_] := Module[{a, i}, a[0] = 1; 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[n, 3^n], {n, 2, 37}] (* _Robert G. Wilson v_, Feb 09 2006 *)
%o (PARI) a(n)=sum(i=1,3^n,if(bigomega(i)-n,0,1))
%o (PARI)
%o { appi(k,n,m=2) = local(r=0);
%o if(k==0,return(1));
%o if(k==1,return(primepi(n)));
%o forprime(p=m, floor(sqrtn(n,k)+1e-20),
%o r+=appi(k-1,n\p,p)-(k==2)*(primepi(p)-1));
%o r }
%o { appi3(k,n) = appi(k,n) - if(k>=1,appi(k-1,n\3)) }
%o a=1; for(n=1,50, k=ceil(n*log(5/3)/log(5/2)); a+=appi3(n-k,3^n\2^k); print1(a,", "))
%o \\ _Max Alekseyev_, Jan 06 2008
%o (Python)
%o from math import isqrt, prod
%o from sympy import primerange, integer_nthroot, primepi
%o def A078843(n):
%o def almostprimepi(n,k):
%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(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(3**n,n) if n else 1 # _Chai Wah Wu_, Sep 01 2024
%Y Cf. A078840, A078841, A078842, A078844, A078845, A078846.
%K nonn
%O 0,2
%A _Benoit Cloitre_ and _Paul D. Hanna_, Dec 10 2002
%E a(14)-a(37) from _Robert G. Wilson v_, Feb 09 2006