A302051 An analog of A000005 for nonstandard factorization based on the sieve of Eratosthenes (A083221).
1, 2, 2, 3, 2, 4, 2, 4, 3, 4, 2, 6, 2, 4, 4, 5, 2, 6, 2, 6, 4, 4, 2, 8, 3, 4, 4, 6, 2, 8, 2, 6, 6, 4, 4, 9, 2, 4, 4, 8, 2, 8, 2, 6, 5, 4, 2, 10, 3, 6, 6, 6, 2, 8, 4, 8, 6, 4, 2, 12, 2, 4, 4, 7, 4, 12, 2, 6, 8, 8, 2, 12, 2, 4, 4, 6, 4, 8, 2, 10, 6, 4, 2, 12, 6, 4, 8, 8, 2, 10, 4, 6, 6, 4, 4, 12, 2, 6, 4, 9, 2, 12, 2, 8, 9
Offset: 1
Keywords
Links
Crossrefs
Programs
-
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))); A078898(n) = v078898[n]; A000265(n) = (n/2^valuation(n, 2)); A001511(n) = 1+valuation(n,2); A302045(n) = A001511(A078898(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)); }; A302051(n) = if(1==n,n,(A302045(n)+1)*A302051(A302044(n)));
-
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 A055396(n) = if(1==n,0,primepi(A020639(n))); A250246(n) = if(1==n,n,my(k = 2*A250246(A078898(n)), r = A055396(n)); if(1==r, k, while(r>1, k = A003961(k); r--); (k))); A302051(n) = numdiv(A250246(n));
Comments