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.

A357481 a(n) is the least integer b such that the digit representation of n in base b is equal to the digit representation in base b of the initial terms of the sets of divisors of n in increasing order, or -1 if no such b exists.

Original entry on oeis.org

2, -1, -1, -1, -1, 2, -1, 6, 6, 8, -1, 10, -1, 12, 12, 14, -1, 16, -1, 18, 18, 20, -1, 22, 20, 24, 24, 26, -1, 28, -1, 30, 30, 32, 30, 34, -1, 36, 36, 38, -1, 40, -1, 42, 42, 44, -1, 3, 42, 3, 48, 2, -1, 52, 50, 54, 54, 56, -1, 58, -1, 60, 2, 62, 60, 7, -1, 66, 66, 68, -1, 70, -1, 72, 7
Offset: 1

Views

Author

Michel Marcus, Sep 30 2022

Keywords

Comments

It appears that a(n) != -1 iff n in A056653.

Examples

			In base 10, 12 is a term of A175252, and there is no other lesser base for which 12 works, so a(12) = 10.
		

Crossrefs

Programs

  • PARI
    isok(k, b) = my(s=[]); fordiv(k, d, s=concat(s, digits(d, b)); if (fromdigits(s, b)==k, return(1)); if (fromdigits(s, b)> k, return(0)));
    a(n) = if (n==1, 2, for (b=2, n-1, if (isok(n, b), return(b))); return(-1););
    
  • Python
    from sympy import divisors
    from sympy.ntheory import digits
    def ok(n, b):
        target, s = digits(n, b)[1:], []
        if target[0] != 1: return False
        for d in divisors(n):
            s += digits(d, b)[1:]
            if len(s) >= len(target): return s == target
    def a(n):
        if n == 1: return 2
        for b in range(2, n):
            if ok(n, b): return b
        return -1
    print([a(n) for n in range(1, 76)]) # Michael S. Branicky, Oct 05 2022