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.

A161953 Base-16 Armstrong or narcissistic numbers (written in base 10).

Original entry on oeis.org

1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 342, 371, 520, 584, 645, 1189, 1456, 1457, 1547, 1611, 2240, 2241, 2458, 2729, 2755, 3240, 3689, 3744, 3745, 47314, 79225, 177922, 177954, 368764, 369788, 786656, 786657, 787680, 787681, 811239, 812263, 819424, 819425, 820448, 820449, 909360
Offset: 1

Views

Author

Joseph Myers, Jun 22 2009

Keywords

Comments

Whenever 16|a(n) (n = 22, 26, 33, 41, 43, 47, 49, 51, 53, 61, 116, 149, 157, 196, 198, 204, 206, 243, 247), then a(n+1) = a(n) + 1. Zero also satisfies the definition (n = Sum_{i=1..k} d[i]^k where d[1..k] are the base-16 digits of n), but this sequence only considers positive terms. - M. F. Hasler, Nov 22 2019

Examples

			645 is in the sequence because 645 is 285 in hexadecimal and 2^3 + 8^3 + 5^3 = 645. (The exponent 3 is the number of hexadecimal digits.)
		

Crossrefs

In other bases: A010344 (base 4), A010346 (base 5), A010348 (base 6), A010350 (base 7), A010354 (base 8), A010353 (base 9), A005188 (base 10), A161948 (base 11), A161949 (base 12), A161950 (base 13), A161951 (base 14), A161952 (base 15).

Programs

  • Mathematica
    Select[Range[10^7], # == Total[IntegerDigits[#, 16]^IntegerLength[#, 16]] &] (* Michael De Vlieger, Nov 04 2020 *)
  • PARI
    isok(n) = {my(b=16, d=digits(n, b), e=#d); sum(k=1, #d, d[k]^e) == n;} \\ Michel Marcus, Feb 25 2019
    
  • PARI
    select( is_A161953(n)={n==vecsum([d^#n|d<-n=digits(n,16)])}, [1..10^5]) \\ M. F. Hasler, Nov 22 2019
    
  • Python
    from itertools import islice, combinations_with_replacement
    def A161953_gen(): # generator of terms
        for k in range(1,74):
            a = tuple(i**k for i in range(16))
            yield from (x[0] for x in sorted(filter(lambda x:x[0] > 0 and tuple(int(d,16) for d in sorted(hex(x[0])[2:])) == x[1], \
                              ((sum(map(lambda y:a[y],b)),b) for b in combinations_with_replacement(range(16),k)))))
    A161953_list = list(islice(A161953_gen(),30)) # Chai Wah Wu, Apr 21 2022

Extensions

Terms sorted in increasing order by Pontus von Brömssen, Mar 03 2019