cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A302044 A028234 analog for factorization process based on the sieve of Eratosthenes (A083221).

Original entry on oeis.org

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

Views

Author

Antti Karttunen, Mar 31 2018

Keywords

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.

Crossrefs

Programs

  • 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)); };

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))).