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.

A217784 Triprimes to triprime powers.

Original entry on oeis.org

16777216, 429981696, 11019960576, 25600000000, 68719476736, 282429536481, 377801998336, 656100000000, 8916100448256, 9682651996416, 14048223625216, 16815125390625, 39062500000000, 53459728531456, 248155780267521, 360040606269696, 457163239653376, 576480100000000
Offset: 1

Views

Author

Keywords

Comments

Triprimes are numbers with exactly three prime factors: A014612.
This is to triprimes as primes are to A053810 (Prime powers of prime numbers) and as semiprimes are to A113877 (Semiprimes to semiprime powers). - Jonathan Vos Post, Mar 26 2013
a(n) increases roughly as n^8, because 9669 of the first 10000 terms are powers of 8. - Kevin L. Schwartz and Christian N. K. Anderson, Jun 05 2013

Examples

			429981696 = 8^12.
a(10) = 9682651996416 = 42^8 = (2*3*7)^(2*2*2).
		

Crossrefs

Programs

  • Python
    from math import isqrt
    from sympy import primepi, primerange, integer_nthroot, factorint
    def A217784(n):
        def g(x): return int(sum(primepi(x//(k*m))-b for a, k in enumerate(primerange(integer_nthroot(x, 3)[0]+1)) for b, m in enumerate(primerange(k, isqrt(x//k)+1), a)))
        def f(x): return int(n+x-sum(g(integer_nthroot(x, k)[0]) for k in range(1,x.bit_length()) if sum(factorint(k).values())==3))
        def bisection(f,kmin=0,kmax=1):
            while f(kmax) > kmax: kmax <<= 1
            while kmax-kmin > 1:
                kmid = kmax+kmin>>1
                if f(kmid) <= kmid:
                    kmax = kmid
                else:
                    kmin = kmid
            return kmax
        return bisection(f,n,n) # Chai Wah Wu, Sep 12 2024
  • R
    library(gmp); istriprime=function(x) ifelse(as.bigz(x)<8, F, length(factorize(x))==3)as.bigz(which(sapply(1:200, istriprime)))->trp; maxy=tail(trp, 1)^trp[1]; len=0; y=as.bigz(rep(0, 100))
    for(i in 1:length(trp)) { j=0; while((n=trp[i]^trp[(j=j+1)])<=maxy) y[(len=len+1)]=n }
    y[1:len]->y; y[order(as.numeric(y))]
    -- Kevin L. Schwartz and Christian N. K. Anderson, Jun 05 2013