OFFSET
1,2
COMMENTS
The prime tower factorization of a number can be recursively defined as follows: the prime tower factorization of 1 is itself; to find the prime tower factorization of an integer n > 1, let n = p_1^e_1 * p_2^e_2 * ... * p_k^e_k be the canonical prime factorization of n, then the prime tower factorization is given by p_1^f_1 * p_2^f_2 * ... * p_k^f_k, where f_i is the prime tower factorization of e_i.
An alternative definition: let I(n) be the indicator function for the set of positive integers whose prime tower factorization does not contain a 2. Then I(n) is the multiplicative function satisfying I(p^k) = I(k) for p prime not equal to 2, and I(2^k) = 0.
LINKS
Rémy Sigrist, Table of n, a(n) for n = 1..10000
Patrick Devlin and Edinah Gnang, Primes Appearing in Prime Tower Factorization, arXiv:1204.5251 [math.NT], 2012-2014.
MAPLE
# The integer n is in this sequence if and only if
# containsPrimeInTower(2, n) returns false
containsPrimeInTower:=proc(q, n) local i, L, currentExponent; option remember;
if n <= 1 then return false: end if;
if type(n/q, integer) then return true: end if;
L := ifactors(n)[2];
for i to nops(L) do currentExponent := L[i][2];
if containsPrimeInTower(q, currentExponent) then return true: end if
end do;
return false:
end proc:
MATHEMATICA
Select[Range[150], ! MemberQ[Flatten@ FixedPoint[Map[If[PrimeQ@ Last@ # || Last@ # == 1, #, {First@ #, FactorInteger@ Last@ #}] &, #, {Depth@ # - 2}] &, FactorInteger@ #], 2] &] (* Michael De Vlieger, Feb 17 2017 *)
containsPrimeInTower[q_, n_] := containsPrimeInTower[q, n] = Module[{i, L, currentExponent}, If[n <= 1, Return[False]]; If[IntegerQ[n/q], Return[True] ]; L = FactorInteger[n]; For[i = 1, i <= Length[L], i++, currentExponent = L[[i, 2]]; If[containsPrimeInTower[q, currentExponent], Return[True]]]; Return[False]];
Select[Range[150], !containsPrimeInTower[2, #]&] (* Jean-François Alcover, Jan 22 2019, translated from Maple *)
PROG
(PARI) is(n)=if(n<4, return(n!=2)); if(n%2==0, return(0)); my(f=factor(n)[, 2]); for(i=1, #f, if(!is(f[i]), return(0))); 1 \\ Charles R Greathouse IV, May 16 2024
CROSSREFS
KEYWORD
nonn
AUTHOR
Patrick Devlin, Apr 24 2012
EXTENSIONS
Typo in Maple program corrected by Rémy Sigrist, Dec 13 2016
STATUS
approved