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.

A357273 Integers m whose decimal expansion is a prefix of the concatenation of the divisors of m.

Original entry on oeis.org

1, 11, 12, 124, 135, 1111, 1525, 13515, 124816, 1223462, 12356910, 13919571, 1210320658, 1243162124, 1525125625, 12346121028, 12478141928, 12510153130, 12510254150, 1234689111216, 1351553159265, 1597717414885, 1713913539247, 12356910151830, 13791121336377
Offset: 1

Views

Author

Michel Marcus, Sep 22 2022

Keywords

Comments

This is different from A175252 in that the digits to be concatenated can end in the middle of a divisor.
All terms start with the digit 1. - Chai Wah Wu, Sep 23 2022
a(26) > 10^14. - Giovanni Resta, Oct 20 2022

Examples

			11 is a term since its divisors are 1 and 11 whose concatenation is 111 whose first 2 digits are 11.
1111 is a term since its divisors are 1, 11, 101, and 1111 whose concatenation is 1111011111 whose first 4 digits are 1111.
		

Crossrefs

Cf. A037278, A175252 (a subsequence).
Cf. A004022 (a subsequence).
Subsequence of A131835.

Programs

  • Mathematica
    q[n_] := (Join @@ IntegerDigits @ Divisors[n])[[1 ;; Length @ (d = IntegerDigits[n])]] == d; Select[Range[1.3*10^6], q] (* Amiram Eldar, Sep 22 2022 *)
  • PARI
    f(n) = my(s=""); fordiv(n, d, s = concat(s, Str(d))); s; \\ A037278
    isok(k) = if (k==1, 1, my(v=strsplit(f(k), Str(k))); (v[1] == ""));
    
  • Python
    from sympy import divisors
    def ok(n): return "".join(str(d) for d in divisors(n)).startswith(str(n))
    print([k for k in range(10**5) if ok(k)]) # Michael S. Branicky, Sep 22 2022
    
  • Python
    from itertools import count, islice
    from sympy import divisors
    def A357273_gen(): # generator of terms
        yield 1
        for n in count(1):
            r = str(n)
            if n&1 or r.startswith('2'):
                m = 10**(c:=len(r))+n
                s, sm = '', str(m)
                for d in divisors(m):
                    s += str(d)
                    if len(s) >= c+1:
                        break
                if s.startswith(sm):
                    yield m
    A357273_list = list(islice(A357273_gen(),10)) # Chai Wah Wu, Sep 23 2022

Extensions

a(16)-a(25) from Giovanni Resta, Oct 20 2022