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.

Showing 1-3 of 3 results.

A357429 Numbers whose digit representation in base 3 is equal to the digit representation in base 3 of the initial terms of their sets of divisors in increasing order.

Original entry on oeis.org

1, 48, 50, 333, 438, 448, 734217, 6561081
Offset: 1

Views

Author

Michel Marcus, Sep 28 2022

Keywords

Examples

			In base 3, 48 is 1210 and its first divisors are 1, 2 and 3, that is, 1, 2 and 10.
		

Crossrefs

Cf. A175252 (base 10), A357428 (base 2).

Programs

  • PARI
    isok(k) = my(s=[]); fordiv(k, d, s=concat(s, digits(d, 3)); if (fromdigits(s, 3)==k, return(1)); if (fromdigits(s, 3)> k, return(0)));
    
  • Python
    from sympy import divisors
    from sympy.ntheory import digits
    def ok(n):
        target, s = "".join(map(str, digits(n, 3)[1:])), ""
        if target[0] != "1": return False
        for d in divisors(n):
            s += "".join(map(str, digits(d, 3)[1:]))
            if len(s) >= len(target): return s == target
            elif not target.startswith(s): return False
    print([k for k in range(10**5) if ok(k)]) # Michael S. Branicky, Oct 01 2022

A357430 a(n) is the least integer > 1 such that its digit representation in base n is equal to the digit representation in base n of the initial terms of its set of divisors in increasing order.

Original entry on oeis.org

6, 48, 6, 182, 8, 66, 10, 102, 12, 1586, 14, 198, 16, 258, 18, 345, 20, 402, 22, 486, 24, 306484, 26, 678, 28, 786, 30, 26102, 32, 1026, 34, 1158, 36, 1335, 38, 1446, 40, 1602, 42, 204741669824, 44, 1938, 46, 2118, 48, 2355, 50, 2502, 52, 2706, 54, 8199524, 56
Offset: 2

Views

Author

Michel Marcus, Sep 28 2022

Keywords

Crossrefs

Cf. A175252 (base 10), A357428 (base 2), A357429 (base 3).

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) = my(k=2); while(! isok(k, n), k++); k;
    
  • Python
    from sympy import divisors
    from sympy.ntheory import digits
    from itertools import count, islice
    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
            elif not target[:len(s)] == s: return False
    def a(n):
        return next(i for d in count(1) for i in range(n**d, 2*n**d) if ok(i, n))
    print([a(n) for n in range(2, 41)]) # Michael S. Branicky, Oct 05 2022

Formula

a(2*n) = 2*n + 2 for any n > 1. - Rémy Sigrist, Sep 29 2022

Extensions

More terms from Rémy Sigrist, Sep 29 2022

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
Showing 1-3 of 3 results.