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.

A355592 Positions of records in A357299: integers m such that the number of divisors whose first digit equals the first digit of m sets a new record.

Original entry on oeis.org

1, 10, 100, 108, 120, 180, 1008, 1260, 1680, 10010, 10080, 15120, 100320, 100800, 110880, 166320, 196560, 1003200, 1004640, 1005480, 1028160, 1053360, 1081080, 1441440, 1884960, 10024560, 10090080, 10533600, 10810800, 12252240, 17297280, 100069200, 100124640, 100212840, 100245600
Offset: 1

Views

Author

Bernard Schott, Sep 24 2022

Keywords

Comments

Observation: all terms start with the digit 1.
The corresponding records are: 1, 2, 3, 4, 5, 6, 10, 11, 12, ...
For even terms k we have A000005(k) >= 2*A357299(k). For 3 <= n <= 101, A000005(k) >= 3*A357299(k). - David A. Corneth, Sep 26 2022

Examples

			1008 is a term because A357299(1008) = 10, the ten corresponding divisors are {1, 12, 14, 16, 18, 112, 126, 144, 168, 1008} and 10 is larger than any earlier value in A357299.
		

Crossrefs

Cf. A342833 (with last digit).

Programs

  • Mathematica
    f[n_] := IntegerDigits[n][[1]]; s[n_] := Module[{fn = f[n]}, DivisorSum[n, 1 &, f[#] == fn &]]; seq = {}; sm = 0; Do[If[(sn = s[n]) > sm, sm = sn; AppendTo[seq, n]], {n, 1, 200000}]; seq (* Amiram Eldar, Sep 24 2022 *)
  • PARI
    f(n) = my(fd=digits(n)[1]); sumdiv(n, d, digits(d)[1] == fd); \\ A357299
    lista(nn) = my(r=0, x, list=List()); for (n=1, nn, if ((x=f(n)) > r, listput(list, n); r = x);); Vec(list); \\ Michel Marcus, Sep 24 2022
    
  • PARI
    upto(n) = { r = -1; res = List(); forfactored(i = 1, n, if(numdiv(i[2]) >= r, d = divisors(i[2]); t = i[1]\10^logint(i[1], 10); c = sum(j = 1, #d, d[j]\10^logint(d[j], 10) == t); if(c > r, r = c; listput(res, i[1]); ) ) ); res } \\ David A. Corneth, Sep 24 2022
    
  • Python
    from sympy import divisors
    from itertools import count, islice
    def b(n): f = str(n)[0]; return sum(1 for d in divisors(n) if str(d)[0]==f)
    def agen(): # generator of terms
        record = -1
        for m in count(1):
            v = b(m)
            if v > record: yield m; record = v
    print(list(islice(agen(), 17))) # Michael S. Branicky, Sep 24 2022

Extensions

More terms from Michel Marcus, Sep 24 2022