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.

A055085 Smallest integer containing all digits in all bases from 2 to n.

This page as a plain text file.
%I A055085 #42 Jun 29 2022 01:50:21
%S A055085 2,11,75,978,8350,160773,2217404,45623244,1093265784,37206483195,
%T A055085 1587937206284,109746121381518,2697545063614180,64810523515743579,
%U A055085 21538286780426129155
%N A055085 Smallest integer containing all digits in all bases from 2 to n.
%C A055085 a(12) is the first term whose expansion in base n does not begin with a 1. - Tom Womack
%C A055085 By definition, for n >= 3, a(n) > A000169(n), with equality when n=2 only. - _Michel Marcus_, Nov 10 2013
%C A055085 a(16) is the first term which is bigger than n^n, i.e., whose expansion in base n=16 is not a permutation of 16 different digits. - _Ignat Soroko_, Aug 14 2017
%H A055085 Project Euler, <a href="http://projecteuler.net/problem=571">Problem 571: Super Pandigital Numbers</a>
%e A055085 75 is the smallest integer containing 0 and 1 in base 2 (1001011), 0, 1 and 2 in base 3 (2210) and 0, 1, 2 and 3 in base 4 (1023), hence a(4) = 75.
%e A055085 a(12) = 1587937206284 is 217904B5A638 in base 12; 562493178A90 in base 11.
%o A055085 (PARI) isok(i, n) = {for (b = 2, n, if (#Set(digits(i, b)) != b, return (0));); return (1);}
%o A055085 a(n) = {i = n^(n-1); while (! isok(i, n), i++); i;} \\ _Michel Marcus_, Nov 10 2013
%o A055085 (Python)
%o A055085 from itertools import count, product
%o A055085 from sympy.utilities.iterables import multiset_permutations
%o A055085 from gmpy2 import digits, mpz
%o A055085 def A055085(n): # assumes n <= 62
%o A055085     dlist = tuple(digits(d,n) for d in range(n))
%o A055085     for l in count(n-1):
%o A055085         for t in product(dlist,repeat=l-n+1):
%o A055085             for d in range(1,n):
%o A055085                 for u in multiset_permutations(sorted(t+dlist[:d]+dlist[d+1:])):
%o A055085                     m = mpz(''.join((dlist[d],)+tuple(u)),n)
%o A055085                     for b in range(n-1,1,-1):
%o A055085                         if len(set(digits(m,b))) < b:
%o A055085                             break
%o A055085                     else:
%o A055085                         return int(m) # _Chai Wah Wu_, Mar 14 2022
%Y A055085 A051640 uses a weaker definition.
%K A055085 nonn,base
%O A055085 2,1
%A A055085 Ulrich Schimke (ulrschimke(AT)aol.com)
%E A055085 a(11) from _David Wasserman_, Mar 25 2002
%E A055085 a(12) from Tom Womack (tom(AT)womack.net), Jun 19 2007
%E A055085 a(13)-a(15) from _Ignat Soroko_, Jan 05 2017
%E A055085 a(16) from _Ignat Soroko_, Aug 14 2017