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.

A166623 Irregular triangle read by rows, in which row n lists the Münchhausen numbers in base n, for 2 <= n.

Original entry on oeis.org

1, 2, 1, 5, 8, 1, 29, 55, 1, 1, 3164, 3416, 1, 3665, 1, 1, 28, 96446, 923362, 1, 3435, 1, 34381388, 34381640, 1, 20017650854, 1, 93367, 30033648031, 8936504649405, 8936504649431, 1, 31, 93344, 17852200903304, 606046687989917
Offset: 2

Views

Author

Daan van Berkel (daan.v.berkel.1980(AT)gmail.com), Oct 18 2009

Keywords

Comments

Let N = Sum_i d_i b^i be the base b expansion of N. Then N has the Münchhausen property in base b if and only if N = Sum_i (d_i)^(d_i).
Convention: 0^0 = 1.

Examples

			For example: the base 4 representation of 29 is [1,3,1] (29 = 1*4^2 + 3*4^1 + 1*4^0). Furthermore, 29 = 1^1 + 3^3 + 1^1. Therefore 29 has the Münchhausen property in base 4.
Because 1 = 1^1 in every base, a 1 in the sequence signifies a new base.
So the sequence can best be read in the following form:
  1, 2;
  1, 5, 8;
  1, 29, 55;
  1;
  1, 3164, 3416;
  1, 3665;
  1;
  1, 28, 96446, 923362;
  1, 3435;
		

Crossrefs

See A046253 for base 10.

Programs

  • GAP
    next := function(result, n) local i; result[1] := result[1] + 1; i := 1; while result[i] = n do result[i] := 0; i := i + 1; if (i <= Length(result)) then result[i] := result[i] + 1; else Add(result, 1); fi; od; return result; end; munchausen := function(coefficients) local sum, index; sum := 0; for index in coefficients do sum := sum + index^index; od; return sum; end; for m in [2..10] do max := 2*m^m; n := 1; coefficients := [1]; while n <= max do sum := munchausen(coefficients); if (n = sum) then Print(n, "\n"); fi; n := n + 1; coefficients := next(coefficients, m); od; od;
    
  • Python
    from itertools import combinations_with_replacement
    from sympy.ntheory.factor_ import digits
    A166623_list = []
    for b in range(2,20):
        sublist = []
        for l in range(1,b+2):
            for n in combinations_with_replacement(range(b),l):
                x = sum(d**d for d in n)
                if tuple(sorted(digits(x,b)[1:])) == n:
                    sublist.append(x)
        A166623_list.extend(sorted(sublist)) # Chai Wah Wu, May 20 2017

Extensions

Edited (but not checked) by N. J. A. Sloane, Nov 10 2009
More terms from Karl W. Heuer, Aug 06 2011