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.

A046017 Least k > 1 with k = sum of digits of k^n, or 0 if no such k exists.

Original entry on oeis.org

2, 9, 8, 7, 28, 18, 18, 46, 54, 82, 98, 108, 20, 91, 107, 133, 80, 172, 80, 90, 90, 90, 234, 252, 140, 306, 305, 90, 305, 396, 170, 388, 170, 387, 378, 388, 414, 468, 449, 250, 432, 280, 461, 280, 360, 360, 350, 370, 270, 685, 360, 625, 648, 370, 677, 684, 370, 667, 370, 694, 440, 855, 827, 430, 818
Offset: 1

Views

Author

Keywords

Comments

First non-occurrence happens with exponent 105. There is no x such that sum-of-digits{x^105}=x (x>1). - Patrick De Geest, Aug 15 1998

Examples

			a(3) = 8 since 8^3 = 512 and 5+1+2 = 8; a(5) = 28 because 28 is least number > 1 with 28^5 = 17210368, 1+7+2+1+0+3+6+8 = 28. 53^7 = 1174711139837 -> 1+1+7+4+7+1+1+1+3+9+8+3+7 = 53.
a(10) = 82 because 82^10 = 13744803133596058624 and 1 + 3 + 7 + 4 + 4 + 8 + 0 + 3 + 1 + 3 + 3 + 5 + 9 + 6 + 0 + 5 + 8 + 6 + 2 + 4 = 82.
a(13) = 20: 20^13=81920000000000000, 8+1+9+2=20.
a(17) = 80: 80^17=225179981368524800000000000000000, 2+2+5+1+7+9+9+8+1+3+6+8+5+2+4+8 = 80.
		

References

  • G. Balzarotti and P. P. Lava, Le sequenze di numeri interi, Hoepli, 2008, p. 208-210.
  • Joe Roberts, "Lure of the Integers", The Mathematical Association of America, 1992, p. 172.

Crossrefs

Cf. A133509 (n for which a(n)=0), A152147 (table of k for each n).

Programs

  • Mathematica
    a[n_] := For[k = 2, k <= 20*n, k++, Which[k == Total[IntegerDigits[k^n]], Return[k], k == 20*n, Return[0]]]; Table[a[n] , {n, 1, 105}] (* Jean-François Alcover, May 23 2012 *)
    sdk[n_]:=Module[{k=2},While[k!=Total[IntegerDigits[k^n]],k++];k]; Array[sdk,70] (* Harvey P. Dale, Jan 07 2024 *)
  • Python
    from itertools import chain
    def c(k, n): return sum(map(int, str(k**n))) == k
    def a(n):
        if n == 0: return False
        d, lim = 1, 1
        while lim < n*9*d: d, lim = d+1, lim*10
        m = next(k for k in chain(range(2, lim+1), (0,)) if c(k, n))
        return m
    print([a(n) for n in range(1, 66)]) # Michael S. Branicky, Jul 06 2022

Extensions

More terms from Asher Auel, Jun 01 2000