login

Year-end appeal: Please make a donation to the OEIS Foundation to support ongoing development and maintenance of the OEIS. We are now in our 61st year, we have over 378,000 sequences, and we’ve reached 11,000 citations (which often say “discovered thanks to the OEIS”).

A302044
A028234 analog for factorization process based on the sieve of Eratosthenes (A083221).
14
1, 1, 1, 1, 1, 3, 1, 1, 1, 5, 1, 3, 1, 7, 5, 1, 1, 9, 1, 5, 1, 11, 1, 3, 1, 13, 7, 7, 1, 15, 1, 1, 5, 17, 7, 9, 1, 19, 11, 5, 1, 21, 1, 11, 1, 23, 1, 3, 1, 25, 25, 13, 1, 27, 1, 7, 7, 29, 1, 15, 1, 31, 13, 1, 11, 33, 1, 17, 5, 35, 1, 9, 1, 37, 17, 19, 11, 39, 1, 5, 11, 41, 1, 21, 7, 43, 35, 11, 1, 45, 1, 23, 1, 47, 13, 3, 1, 49, 19, 25, 1, 51, 1, 13, 25
OFFSET
1,6
COMMENTS
Iterating n, a(n), a(a(n)), a(a(a(n))), ..., until 1 is reached, and taking the smallest prime factor (A020639) of each term gives a sequence of distinct primes in ascending order, while applying A302045 to the same terms gives the corresponding exponents (multiplicities) of those primes. Permutation pair A250245/A250246 maps between this non-standard prime factorization and the ordinary factorization of n. See also comments and examples in A302042.
FORMULA
For n > 1, a(n) = A250469^(r)(A000265(A078898(n))), where r = A055396(n)-1 and A250469^(r)(n) stands for applying r times the map x -> A250469(x), starting from x = n.
a(n) = A250245(A028234(A250246(n))).
PROG
(PARI)
\\ Assuming A250469 and its inverse A268674 have been precomputed, then the following is fast enough:
A302044(n) = if(1==n, n, my(k=0); while((n%2), n = A268674(n); k++); n = (n/2^valuation(n, 2)); while(k>0, n = A250469(n); k--); (n));
(PARI)
up_to = 65537;
ordinal_transform(invec) = { my(om = Map(), outvec = vector(length(invec)), pt); for(i=1, length(invec), if(mapisdefined(om, invec[i]), pt = mapget(om, invec[i]), pt = 0); outvec[i] = (1+pt); mapput(om, invec[i], (1+pt))); outvec; };
A000265(n) = (n/2^valuation(n, 2));
A020639(n) = if(n>1, if(n>n=factor(n, 0)[1, 1], n, factor(n)[1, 1]), 1); \\ From A020639
v078898 = ordinal_transform(vector(up_to, n, A020639(n)));
A078898(n) = v078898[n];
A302044(n) = { my(c = A000265(A078898(n))); if(1==c, 1, my(p = prime(-1+primepi(A020639(n))+primepi(A020639(c))), d = A078898(c), k=0); while(d, k++; if((1==k)||(A020639(k)>=p), d -= 1)); (k*p)); };
CROSSREFS
KEYWORD
nonn
AUTHOR
Antti Karttunen, Mar 31 2018
STATUS
approved