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.

A189398 a(n) = 2^d(1) * 3^d(2) * ... * prime(k)^d(k), where d(1)d(2)...d(k) is the decimal representation of n.

Original entry on oeis.org

2, 4, 8, 16, 32, 64, 128, 256, 512, 2, 6, 18, 54, 162, 486, 1458, 4374, 13122, 39366, 4, 12, 36, 108, 324, 972, 2916, 8748, 26244, 78732, 8, 24, 72, 216, 648, 1944, 5832, 17496, 52488, 157464, 16, 48, 144, 432, 1296, 3888, 11664, 34992, 104976, 314928, 32
Offset: 1

Views

Author

Reinhard Zumkeller, May 03 2011

Keywords

Comments

Not the same as A061509: a(n) = A061509(n) for n <= 100; a(101)=2^1*3^0*5^1=10 <> A061509(101)=2^1*3^1=6;
a(A052382(n)) = A000079(A000030(a052382(n))) = A061509(A052382(n));
a(A002275(n)) = A002110(n): a(n-th rep-unit) = n-th primorial;
a(n*A011557(k)) = a(n): trailing zeros don't matter;
A001221(a(n)) = A055640(n): number of distinct prime factors of a(n) = number of nonzero digits of n;
A001222(a(n)) = A007953(n): number of all prime factors of a(n) = sum of digits of n;
a(81312000) = 2^8*3^1*5^3*7^1*11^2*13^0*17^0*19^0 = 81312000, the smallest fixed point, is called the Meertens number.

Crossrefs

Cf. A000040.

Programs

  • Haskell
    import Data.Char (digitToInt)
    import Data.List (findIndices)
    a189398 n = product $ zipWith (^) a000040_list (map digitToInt $ show n)
    -- Two computations of the Meertens number: the first is brute force,
    meertens = map succ $ findIndices (\x -> a189398 x == x) [1..]
    -- ... and the second is more efficient, from Bird reference, page 87:
    meertens' k = [n | (n,g) <- candidates (0,1), n == g] where
      candidates        = concat . map (search pps) . tail . labels ps
      ps : pps          = map (\p -> iterate (p *) 1) $ take k a000040_list
      search [] x       = [x]
      search (ps:pps) x = x : concat (map (search pps) (labels ps x))
      labels ps (n,g)   = zip (map (10*n +) [0..9]) (chop $ map (g *) ps)
      chop              = takeWhile (< 10^k)
    -- Time and space required, GHC interpreted, Mac OS X, 2.66 GHz:
    -- for >head meertens: (466.87 secs, 254780027728 bytes);
    -- for >meertens' 8:   (  0.28 secs,     62027124 bytes).
    
  • Maple
    a:= n-> `if`(n=0, 1, ithprime(length(n))^irem(n, 10, 'm') *a(m)):
    seq(a(n), n=1..110);  # Alois P. Heinz, May 04 2011
  • Mathematica
    a[n_] := (p = Prime[Range[Length[d = IntegerDigits[n]]]]; Times @@ (p^d)); Array[a, 50] (* Jean-François Alcover, Jan 09 2016 *)
  • PARI
    a(n)=my(d=digits(n),p=primes(#d)); prod(i=1,#d,p[i]^d[i]) \\ Charles R Greathouse IV, Aug 19 2014
    
  • Python
    from sympy import prime
    from operator import mul
    from functools import reduce
    def A189398(n):
        return reduce(mul, (prime(i)**int(d) for i,d in enumerate(str(n),start=1)))
    # Chai Wah Wu, Aug 31 2014
    
  • Python
    # implementation using recursion
    from sympy import prime
    def _A189398(n):
        nlen = len(n)
        return _A189398(n[:-1])*prime(nlen)**int(n[-1]) if nlen > 1 else 2**int(n)
    def A189398(n):
        return _A189398(str(n))
    # Chai Wah Wu, Aug 31 2014