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.

User: Dominic McCarty

Dominic McCarty's wiki page.

Dominic McCarty has authored 19 sequences. Here are the ten most recent ones:

A385116 Take the natural numbers, erase all occurrences of the digit "0," and shift all remaining digits leftward without changing the position of commas.

Original entry on oeis.org

1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 11, 21, 31, 41, 51, 61, 71, 81, 92, 21, 22, 23, 24, 25, 26, 27, 28, 29, 33, 13, 23, 33, 43, 53, 63, 73, 83, 94, 41, 42, 43, 44, 45, 46, 47, 48, 49, 55, 15, 25, 35, 45, 55, 65, 75, 85, 96, 61, 62, 63, 64, 65, 66, 67, 68, 69, 77
Offset: 1

Author

Dominic McCarty, Jun 18 2025

Keywords

Comments

a(1) = 1; digit stream is the same as that of A004719 and digit lengths A055642(a(n)) = A055642(n).

Examples

			Starting with:
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, ...
Erase all zeros:
1, 2, 3, 4, 5, 6, 7, 8, 9, 1_, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2_, 21, ...
Shift all remaining digits to the left:
1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 11, 21, 31, 41, 51, 61, 71, 81, 92, 21, 22, ...
		

Crossrefs

Programs

  • Python
    from itertools import count
    s = "".join(map(str,range(1,72))).replace("0","")
    a, i, = [], 0
    for k in count(1):
        if (j:=i+len(str(k))) > len(s): break
        a.append(int(s[i:j]))
        i = j
    print(a)

A383322 Lexicographically earliest sequence of distinct terms such that replacing each term k with k! does not change the succession of digits.

Original entry on oeis.org

1, 2, 198, 15, 5, 24, 3, 0, 56, 4, 800, 260, 18, 181, 7, 120, 43, 26, 25, 78, 46, 6, 11, 45, 67, 2580, 8, 37, 34, 49, 61, 66, 465, 63, 9, 28, 62, 93, 960, 65, 410, 626, 13, 82, 98, 59, 32, 659, 453, 242, 255, 580, 939, 42, 70, 44, 932, 22, 55, 38, 389, 50
Offset: 1

Author

Dominic McCarty, Apr 23 2025

Keywords

Comments

Similarly to A302656, this sequence contains very large jumps. For example, a(131) = 4*10^47, a(702) = 496*10^199, a(2808) = 5712*10^643, etc.

Examples

			Let b(n) = a(n)!
(a(n)): 1, 2, 198, 15, 5, 24, 3, 0, 56, 4, 800, 260, 18, ...
(b(n)): 1, 2, 198155243056480026018[...] (350 digits omitted), ...
		

Crossrefs

Programs

  • Python
    from sympy import factorial
    from itertools import count
    a, sa, sb = [1, 2, 198], "12198", "12"+str(factorial(198))
    for _ in range(20):
        a.append(next(n for k in count(1) if not (n := int(sb[len(sa):len(sa)+k])) in a and (0 not in a or not (len(sb) > len(sa) + k and sb[len(sa) + k] == "0"))))
        sa += str(a[-1]); sb += str(factorial(a[-1]))
    print(a)

A383321 a(n) = Fibonacci(A383320(n)).

Original entry on oeis.org

0, 1, 5, 433494437, 2, 3, 34, 701408733, 24157817, 1, 3524578, 74938658661142424746936931013871484819301255773627024651689719443505027723135990224027850523592585, 81055900096023504197206408605, 21, 13
Offset: 1

Author

Dominic McCarty, Apr 23 2025

Keywords

Crossrefs

Programs

  • Python
    from sympy import fibonacci
    from itertools import count
    a, b, sa, sb = [0,1,5,43], [0,1,5,433494437], "01543", "015433494437"
    for _ in range(10):
        a.append(next(n for k in count(1) if not (n := int(sb[len(sa):len(sa)+k])) in a and not (len(sb) > len(sa) + k and sb[len(sa) + k] == "0")))
        b.append(fibonacci(a[-1]))
        sa += str(a[-1]); sb += str(b[-1])
    print(b)

A383320 Lexicographically earliest sequence of distinct terms such that replacing each term k with Fibonacci(k) does not change the succession of digits.

Original entry on oeis.org

0, 1, 5, 43, 3, 4, 9, 44, 37, 2, 33, 470, 140, 8, 7, 332, 41, 57, 81, 71, 35, 24, 578, 74, 93, 86, 58, 6, 61, 14, 242, 47, 46, 936, 9310, 13, 87, 148, 48, 19, 30, 12, 55, 77, 36, 270, 246, 51, 68, 97, 194, 4350, 50, 27, 72, 31, 359, 90, 22, 40, 278, 505, 23
Offset: 1

Author

Dominic McCarty, Apr 23 2025

Keywords

Examples

			Let b(n) = Fibonacci(a(n))
(a(n)): 0, 1, 5, 43, 3, 4, 9, 44, 37, 2, ...
(b(n)): 0, 1, 5, 433494437,           2, ...
		

Crossrefs

Cf. A383321 (Fibonacci(a(n))), A038546, A383318, A383322, A302656.

Programs

  • Python
    from sympy import fibonacci
    from itertools import count
    a, sa, sb = [0,1,5,43], "01543", "015433494437"
    for _ in range(30):
        a.append(next(n for k in count(1) if not (n := int(sb[len(sa):len(sa)+k])) in a and not (len(sb) > len(sa) + k and sb[len(sa) + k] == "0")))
        sa += str(a[-1]); sb += str(fibonacci(a[-1]))
    print(a)

A383319 a(n) = prime(A383318(n)).

Original entry on oeis.org

64553, 5, 11, 2, 37, 157, 47, 17, 7, 353, 389, 149, 137, 19, 23, 43, 467, 2539, 479, 139, 2339, 359, 241, 491, 401, 41, 7219, 167, 2417, 3, 179, 227, 809, 811, 5449, 7159, 5479, 59, 127, 6073, 103, 409, 521, 31, 251, 3547, 937, 3943, 499, 7121, 5791, 367, 29
Offset: 1

Author

Dominic McCarty, Apr 23 2025

Keywords

Crossrefs

Programs

  • Python
    from sympy import prime
    from itertools import count
    a, b, sa, sb = [6455], [64553], "6455", "64553"
    for _ in range(30):
        a.append(next(n for k in count(1) if not (n := int(sb[len(sa):len(sa)+k])) in a and not (len(sb) > len(sa) + k and sb[len(sa) + k] == "0")))
        b.append(prime(a[-1]))
        sa += str(a[-1]); sb += str(b[-1])
    print(b)

A383318 Lexicographically earliest sequence of distinct terms such that replacing each term k with prime(k) does not change the succession of digits.

Original entry on oeis.org

6455, 3, 5, 1, 12, 37, 15, 7, 4, 71, 77, 35, 33, 8, 9, 14, 91, 371, 92, 34, 346, 72, 53, 94, 79, 13, 923, 39, 359, 2, 41, 49, 140, 141, 721, 916, 724, 17, 31, 792, 27, 80, 98, 11, 54, 497, 159, 547, 95, 912, 760, 73, 10, 340, 952, 131, 25, 135, 47, 93, 739, 43
Offset: 1

Author

Dominic McCarty, Apr 23 2025

Keywords

Examples

			Let b(n) = prime(a(n))
(a(n)): 6455, 3, 5, 1, 12, 37, 15, 7, 4, 71, 77, ...
(b(n)): 64553,   5, 11, 2, 37, 157,   47, 17, 7, ...
		

Crossrefs

Cf. A383319 (prime(a(n))), A067928, A383320, A383322, A302656.

Programs

  • Python
    from sympy import prime
    from itertools import count
    a, sa, sb = [6455], "6455", "64553"
    for _ in range(30):
        a.append(next(n for k in count(1) if not (n := int(sb[len(sa):len(sa)+k])) in a and not (len(sb) > len(sa) + k and sb[len(sa) + k] == "0")))
        sa += str(a[-1]); sb += str(prime(a[-1]))
    print(a)

A383218 The product of the first n terms of A383217.

Original entry on oeis.org

1, 2, 6, 24, 120, 720, 5760, 51840, 518400, 5702400, 68428800, 889574400, 12454041600, 186810624000, 2988969984000, 50812489728000, 914624815104000, 17377871486976000, 347557429739520000, 7298706024529920000, 160571532539658240000, 3693145248412139520000
Offset: 1

Author

Dominic McCarty, Apr 19 2025

Keywords

Crossrefs

Programs

  • Python
    from itertools import count
    a, p = [1], 1
    for k in count(2):
        if str(k) not in str(p): p *= k; a.append(p)
        if len(a) >= 20: break
    print(a)

A383217 Lexicographically earliest strictly increasing sequence such that no term is a substring of the product of all previous terms.

Original entry on oeis.org

1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 40, 41, 44, 45, 46, 48, 49, 53, 54, 55, 56, 57, 59, 61, 63, 64, 65, 66, 67, 68, 69, 70, 71, 76, 79, 80, 84, 85, 87, 90, 91, 97, 98
Offset: 1

Author

Dominic McCarty, Apr 19 2025

Keywords

Examples

			The product of the first 6 terms is 720. "7" is a substring of "720", so a(7) cannot be 7. So, a(7) is the next available value, 8.
		

Crossrefs

Cf. A383218 (product of first n terms), A033180.

Programs

  • Python
    from itertools import count
    from math import prod
    a = [1]
    while len(a) < 40: a.append(next(k for k in count(a[-1]+1) if str(k) not in str(prod(a))))
    print(a)

A382453 Lexicographically earliest sequence of distinct terms such that no term is a substring of the sum of any two terms.

Original entry on oeis.org

1, 3, 21, 23, 25, 39, 41, 43, 45, 47, 49, 221, 223, 241, 243, 2001, 2003, 2021, 2023, 2025, 2039, 2041, 2043, 2045, 2047, 2049, 2221, 2223, 2241, 2243, 2601, 2603, 2621, 2623, 2639, 2641, 2643, 2645, 4001, 4003, 4021, 4023, 4025, 4039, 4041, 4043, 4045, 4047
Offset: 1

Author

Dominic McCarty, Mar 26 2025

Keywords

Comments

The "two terms" mentioned in the name are not necessarily distinct, so no term is the substring of the double of any term.
The first digit of every term is less than 5.

Examples

			For calculating a(3):
If 4 was in the sequence, 1+3 = 4 would have 4, itself, as a substring, so it is disallowed.
If 5 was in the sequence, 5+5 = 10 would have 1 as a substring, so it is disallowed.
The first term that is allowed is 21, since 21 is the first term not to have 1, 3, or itself as a substring of any of the following: 1+21 = 22, 3+21 = 24, 21+21 = 42.
So, a(3) = 21.
		

Crossrefs

Cf. A381242.

Programs

  • Python
    a = [1]
    while len(a) < 20:
        a.append(a[-1]+1)
        while any(any(str(k) in str(a[i]+a[j]) for k in a) for i in range(len(a)) for j in range(i,len(a))): a[-1] += 1
    print(a)
    
  • Python
    from itertools import count, islice
    def agen():    # generator of terms
        slst, alst, an = [], [], 1
        S = ["2"]  # strings of sums of two terms (including self sums)
        while True:
            alst.append(an)
            slst.append(str(an))
            yield an
            for k in count(an+1):
                sk = str(k)
                if any(sk in s for s in S): continue
                Pk = [str(ai+k) for ai in alst] + [str(k+k)]
                if any(si in s for s in Pk for si in slst+[sk]): continue
                an = k
                S += Pk
                break
    print(list(islice(agen(), 48))) # Michael S. Branicky, Mar 26 2025

A381242 Lexicographically earliest sequence of distinct terms > 1 such that no term is a substring of the product of any two terms.

Original entry on oeis.org

2, 3, 20, 22, 28, 30, 200, 202, 220, 248, 280, 300, 2000, 2002, 2020, 2022, 2200, 2480, 2800, 3000, 3252, 3272, 20000, 20002, 20020, 20022, 20200, 20220, 22000, 23252, 24800, 28000, 30000, 32520, 32720, 200000, 200002, 200020, 200022, 200200, 200202, 200220
Offset: 1

Author

Dominic McCarty, Mar 24 2025

Keywords

Comments

The "two terms" mentioned in the name are not necessarily distinct, so no term is the substring of the square of any term.
It can be shown that the digits 1 and 6 never appear, and that all terms start with either a 2 or a 3.
If k is in the sequence, then so is 10*k.
Conjecture: The digit 9 never appears.

Examples

			For calculating a(3):
If 4 was in the sequence, 3*4 = 12 would have 2 as a substring, so it is disallowed.
If 5 was in the sequence, 3*5 = 15 would have 5, itself, as a substring, so it is disallowed.
The first term that is allowed is 20, since 20 is the first term not to have 2, 3, or itself as a substring of any of the following: 2*20 = 40, 3*20 = 60, 20*20 = 400.
So, a(3) = 20.
		

Crossrefs

Programs

  • Python
    a = [2]
    while len(a) < 20:
        a.append(a[-1]+1)
        while any(any(str(k) in str(a[i]*a[j]) for k in a) for i in range(len(a)) for j in range(i,len(a))): a[-1] += 1
    print(a)
    
  • Python
    from itertools import count, islice
    def agen():    # generator of terms
        slst, alst, an = [], [], 2
        S = {"4"}  # strings of products of two terms (including self products)
        while True:
            alst.append(an)
            slst.append(str(an))
            yield an
            for k in count(an+1):
                sk = str(k)
                if any(sk in s for s in S): continue
                Pk = [str(ai*k) for ai in alst] + [str(k*k)]
                if any(si in s for s in Pk for si in slst+[sk]): continue
                an = k
                S |= set(Pk)
                break
    print(list(islice(agen(), 42))) # Michael S. Branicky, Mar 26 2025