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-4 of 4 results.

A355771 a(n) is the smallest integer that has exactly n divisors from A333369.

Original entry on oeis.org

1, 3, 9, 15, 45, 105, 195, 315, 945, 900, 1575, 2100, 3900, 6825, 11655, 10500, 6300, 18900, 25200, 35100, 27300, 31500, 44100, 94500, 157500, 107100, 81900, 233100, 220500, 598500, 245700, 333900, 409500, 491400, 900900, 573300, 600600, 1228500, 1669500, 1965600
Offset: 1

Views

Author

Bernard Schott, Jul 17 2022

Keywords

Examples

			15 has 4 divisors: {1, 3, 5, 15} all of which are in A333369 integers, and no smaller number has this property, hence a(4) = 15.
		

Crossrefs

Programs

  • Mathematica
    q[n_] := AllTrue[Tally @ IntegerDigits[n], EvenQ[Plus @@ #] &]; f[n_] := DivisorSum[n, 1 &, q[#] &]; seq[len_, nmax_] := Module[{s = Table[0, {len}], c = 0, n = 1, i}, While[c < len && n < nmax, i = f[n]; If[i <= len && s[[i]] == 0, c++; s[[i]] = n]; n++]; s]; seq[40, 10^7] (* Amiram Eldar, Jul 17 2022 *)
  • PARI
    issimber(m) = my(d=digits(m), s=Set(d)); for (i=1, #s, if (#select(x->(x==s[i]), d) % 2 != (s[i] % 2), return (0))); return (1); \\ A333369
    a(n) = my(k=1); while (sumdiv(k, d, issimber(d)) != n, k++); k; \\ Michel Marcus, Jul 18 2022
    
  • Python
    from sympy import divisors
    from itertools import count, islice
    def c(n): s = str(n); return all(s.count(d)%2 == int(d)%2 for d in set(s))
    def f(n): return sum(1 for d in divisors(n, generator=True) if c(d))
    def agen():
        n, adict = 1, dict()
        for k in count(1):
            fk = f(k)
            if fk not in adict: adict[fk] = k
            while n in adict: yield adict[n]; n += 1
    print(list(islice(agen(), 29))) # Michael S. Branicky, Jul 23 2022

Extensions

More terms from Amiram Eldar, Jul 17 2022

A355773 Numbers all of whose divisors are members of A333369.

Original entry on oeis.org

1, 3, 5, 7, 9, 13, 15, 17, 19, 31, 35, 37, 39, 51, 53, 57, 59, 71, 73, 79, 91, 93, 95, 97, 111, 137, 139, 153, 157, 159, 173, 179, 193, 197, 221, 223, 227, 229, 317, 333, 359, 371, 379, 395, 397, 443, 449, 519, 537, 571, 579, 591, 593, 661, 663, 669, 719, 739
Offset: 1

Views

Author

Bernard Schott, Jul 18 2022

Keywords

Comments

All terms are necessarily odd because 2 is not in A333369

Examples

			111 is a term since all the divisors of 111, i.e., 1, 3, 37 and 111, are in A333369.
		

Crossrefs

Similar sequences: A062687, A190217, A329419, A337741
.
Subsequences: A155045, A355853.

Programs

  • Mathematica
    simQ[n_] := AllTrue[Tally @ IntegerDigits[n], EvenQ[Plus @@ #] &]; Select[Range[1000], AllTrue[Divisors[#], simQ] &] (* Amiram Eldar, Jul 19 2022 *)
  • PARI
    issimber(m) = my(d=digits(m), s=Set(d)); for (i=1, #s, if (#select(x->(x==s[i]), d) % 2 != (s[i] % 2), return (0))); return (1); \\ A333369
    isok(k) = fordiv(k, d, if (!issimber(d), return(0))); return(1); \\ Michel Marcus, Jul 19 2022
    
  • Python
    from sympy import divisors, isprime
    def c(n): s = str(n); return all(s.count(d)%2 == int(d)%2 for d in set(s))
    def ok(n): return n > 0 and all(c(d) for d in divisors(n, generator=True))
    print([k for k in range(740) if ok(k)]) # Michael S. Branicky, Jul 24 2022

A355770 a(n) is the number of terms of A333369 that divide n.

Original entry on oeis.org

1, 1, 2, 1, 2, 2, 2, 1, 3, 2, 1, 2, 2, 2, 4, 1, 2, 3, 2, 2, 3, 2, 1, 2, 2, 2, 3, 2, 1, 4, 2, 1, 2, 2, 4, 3, 2, 2, 4, 2, 1, 3, 1, 3, 5, 1, 1, 2, 2, 2, 4, 2, 2, 3, 2, 2, 4, 1, 2, 4, 1, 2, 4, 1, 3, 4, 1, 2, 2, 4, 2, 3, 2, 2, 5, 2, 2, 4, 2, 2, 3, 1, 1, 3, 3, 1, 2
Offset: 1

Views

Author

Bernard Schott, Jul 16 2022

Keywords

Crossrefs

Programs

  • Mathematica
    q[n_] := AllTrue[Tally @ IntegerDigits[n], EvenQ[Plus @@ #] &]; a[n_] := DivisorSum[n, 1 &, q[#] &]; Array[a, 100] (* Amiram Eldar, Jul 16 2022 *)
  • PARI
    issimber(m) = my(d=digits(m), s=Set(d)); for (i=1, #s, if (#select(x->(x==s[i]), d) % 2 != (s[i] % 2), return (0))); return (1); \\ A333369
    a(n) = sumdiv(n, d, issimber(d)); \\ Michel Marcus, Jul 18 2022
  • Python
    from sympy import divisors
    def c(n): s = str(n); return all(s.count(d)%2 == int(d)%2 for d in set(s))
    def a(n): return sum(1 for d in divisors(n, generator=True) if c(d))
    print([a(n) for n in range(1, 88)]) # Michael S. Branicky, Jul 16 2022
    

Extensions

More terms from Michael S. Branicky, Jul 16 2022

A356177 Palindromes in A333369.

Original entry on oeis.org

1, 3, 5, 7, 9, 22, 44, 66, 88, 111, 212, 232, 252, 272, 292, 333, 414, 434, 454, 474, 494, 555, 616, 636, 656, 676, 696, 777, 818, 838, 858, 878, 898, 999, 2002, 2222, 2442, 2662, 2882, 4004, 4224, 4444, 4664, 4884, 6006, 6226, 6446, 6666, 6886, 8008, 8228, 8448, 8668, 8888, 10101
Offset: 1

Views

Author

Bernard Schott, Jul 28 2022

Keywords

Comments

If a term has a decimal digit that is odd, it must have an odd number of decimal digits and all odd digits are the same. - Chai Wah Wu, Jul 29 2022
If a term has an even number of decimal digits, then it must have only even decimal digits. - Bernard Schott, Jul 30 2022

Examples

			474 is palindrome and 474 has two 4's and one 7 in its decimal expansion, hence 474 is a term.
		

Crossrefs

Intersection of A002113 and A333369.
Cf. A355770, A355771, A355772, A100706 (subsequence of repunits).

Programs

  • Mathematica
    simQ[n_] := AllTrue[Tally @ IntegerDigits[n], EvenQ[Plus @@ #] &]; Select[Range[10^4], PalindromeQ[#] && simQ[#] &] (* Amiram Eldar, Jul 28 2022 *)
  • Python
    from itertools import count, islice, product
    def simb(n): s = str(n); return all(s.count(d)%2==int(d)%2 for d in set(s))
    def pals(): # generator of palindromes
        digits = "0123456789"
        for d in count(1):
            for p in product(digits, repeat=d//2):
                if d > 1 and p[0] == "0": continue
                left = "".join(p); right = left[::-1]
                for mid in [[""], digits][d%2]:
                    yield int(left + mid + right)
    def agen(): yield from filter(simb, pals())
    print(list(islice(agen(), 55))) # Michael S. Branicky, Jul 28 2022
    
  • Python
    # faster version based on Comments
    from itertools import count, islice, product
    def odgen(d): yield from [1, 3, 5, 7, 9] if d == 1 else sorted(int(f+"".join(p)+o+"".join(p[::-1])+f) for o in "13579" for f in o + "2468" for p in product(o+"02468", repeat=d//2-1))
    def evgen(d): yield from (int(f+"".join(p)+"".join(p[::-1])+f) for f in "2468" for p in product("02468", repeat=d//2-1))
    def A356177gen():
        for d in count(1, step=2): yield from odgen(d); yield from evgen(d+1)
    print(list(islice(A356177gen(), 55))) # Michael S. Branicky, Jul 30 2022
Showing 1-4 of 4 results.