|
|
A302041
|
|
An omega analog for a nonstandard factorization based on the sieve of Eratosthenes (A083221).
|
|
14
|
|
|
0, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 2, 1, 2, 2, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 2, 1, 3, 1, 1, 2, 2, 2, 2, 1, 2, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 2, 1, 3, 1, 2, 2, 2, 1, 3, 1, 2, 2, 1, 2, 3, 1, 2, 2, 3, 1, 2, 1, 2, 2, 2, 2, 3, 1, 2, 2, 2, 1, 2, 2, 2, 3, 2, 1, 2, 1, 2, 1, 2, 2, 2, 1, 2, 2, 2, 1, 3, 1, 2, 2
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,6
|
|
LINKS
|
|
|
FORMULA
|
a(1) = 0; for n > 1, a(n) = 1 + a(A302044(n)).
|
|
PROG
|
(PARI)
\\ Assuming A250469 and its inverse A268674 have been precomputed, then the following is reasonably fast:
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; };
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)));
A000265(n) = (n/2^valuation(n, 2));
(PARI)
\\ Or, using also some of the code from above:
A003961(n) = my(f = factor(n)); for (i=1, #f~, f[i, 1] = nextprime(f[i, 1]+1)); factorback(f); \\ From A003961
|
|
CROSSREFS
|
Cf. A302040 (positions of terms < 2).
Differs from A302031 for the first time at n=59, where a(59) = 1, while A302031(59) = 2.
|
|
KEYWORD
|
nonn
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|