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

A365515 Table read by antidiagonals upward: the n-th row gives the lexicographically earliest infinite B_n sequence starting from 0.

Original entry on oeis.org

0, 0, 1, 0, 1, 2, 0, 1, 3, 3, 0, 1, 4, 7, 4, 0, 1, 5, 13, 12, 5, 0, 1, 6, 21, 32, 20, 6, 0, 1, 7, 31, 55, 71, 30, 7, 0, 1, 8, 43, 108, 153, 124, 44, 8, 0, 1, 9, 57, 154, 366, 368, 218, 65, 9, 0, 1, 10, 73, 256, 668, 926, 856, 375, 80, 10, 0, 1, 11, 91, 333, 1153, 2214, 2286, 1424, 572, 96, 11
Offset: 1

Views

Author

Chai Wah Wu, Sep 07 2023

Keywords

Comments

A B_n sequence is a sequence such that all sums a(x_1) + a(x_2) + ... + a(x_n) are distinct for 1 <= x_1 <= x_2 <= ... <= x_n. Analogous to A347570 except that here the B_n sequences start from a(1) = 0.

Examples

			Table begins:
n\k | 1  2   3   4    5     6      7      8       9
----+---------------------------------------------------
  1 | 0, 1,  2,  3,   4,    5,     6,     7,      8, ...
  2 | 0, 1,  3,  7,  12,   20,    30,    44,     65, ...
  3 | 0, 1,  4, 13,  32,   71,   124,   218,    375, ...
  4 | 0, 1,  5, 21,  55,  153,   368,   856,   1424, ...
  5 | 0, 1,  6, 31, 108,  366,   926,  2286,   5733, ...
  6 | 0, 1,  7, 43, 154,  668,  2214,  6876,  16864, ...
  7 | 0, 1,  8, 57, 256, 1153,  4181, 14180,  47381, ...
  8 | 0, 1,  9, 73, 333, 1822,  8043, 28296, 102042, ...
  9 | 0, 1, 10, 91, 500, 3119, 13818, 59174, 211135, ...
		

Crossrefs

Cf. A001477 (n=1), A025582 (n=2), A051912 (n=3), A365300 (n=4), A365301 (n=5), A365302 (n=6), A365303 (n=7), A365304 (n=8), A365305 (n=9), A002061 (k=4), A369817 (k=5), A369818 (k=6), A369819 (k=7), A347570.

Programs

  • Python
    from itertools import count, islice, combinations_with_replacement
    def A365515_gen(): # generator of terms
        asets, alists, klist = [set()], [[]], [0]
        while True:
            for i in range(len(klist)-1,-1,-1):
                kstart, alist, aset = klist[i], alists[i], asets[i]
                for k in count(kstart):
                    bset = set()
                    for d in combinations_with_replacement(alist+[k],i):
                        if (m:=sum(d)+k) in aset:
                            break
                        bset.add(m)
                    else:
                        yield k
                        alists[i].append(k)
                        klist[i] = k+1
                        asets[i].update(bset)
                        break
            klist.append(0)
            asets.append(set())
            alists.append([])
    A365515_list = list(islice(A365515_gen(),30))

Formula

a(n) = A347570(n)-1.

A365300 a(n) is the smallest nonnegative integer such that the sum of any four ordered terms a(k), k<=n (repetitions allowed), is unique.

Original entry on oeis.org

0, 1, 5, 21, 55, 153, 368, 856, 1424, 2603, 4967, 8194, 13663, 22432, 28169, 47688, 65545, 96615, 146248, 202507, 266267, 364834, 450308, 585328, 773000, 986339, 1162748, 1472659, 1993180, 2275962, 3012656, 3552307, 4590959, 5404183, 6601787, 7893270, 9340877
Offset: 1

Views

Author

Kevin O'Bryant, Aug 31 2023

Keywords

Comments

This is the greedy B_4 sequence.

Examples

			a(4) != 12 because 12+1+1+1 = 5+5+5+0.
		

Crossrefs

Programs

  • Python
    def GreedyBh(h, seed, stopat):
        A = [set() for _ in range(h+1)]
        A[1] = set(seed)    # A[i] will hold the i-fold sumset
        for j in range(2,h+1): # {2,...,h}
            for x in A[1]:
                A[j].update([x+y for y in A[j-1]])
        w = max(A[1])+1
        while w <= stopat:
            wgood = True
            for k in range(1,h):
                if wgood:
                    for j in range(k+1,h+1):
                        if wgood and (A[j].intersection([(j-k)*w + x for x in A[k]]) != set()):
                            wgood = False
            if wgood:
                A[1].add(w)
                for k in range(2,h+1): # update A[k]
                    for j in range(1,k):
                        A[k].update([(k-j)*w + x for x in A[j]])
            w += 1
            return A[1]
    GreedyBh(4,[0],10000)
    
  • Python
    from itertools import count, islice, combinations_with_replacement
    def A365300_gen(): # generator of terms
        aset, alist = set(), []
        for k in count(0):
            bset = set()
            for d in combinations_with_replacement(alist+[k],3):
                if (m:=sum(d)+k) in aset:
                    break
                bset.add(m)
            else:
                yield k
                alist.append(k)
                aset |= bset
    A365300_list = list(islice(A365300_gen(),20)) # Chai Wah Wu, Sep 01 2023

Extensions

a(27)-a(37) from Chai Wah Wu, Sep 01 2023

A365302 a(n) is the smallest nonnegative integer such that the sum of any six ordered terms a(k), k<=n (repetitions allowed), is unique.

Original entry on oeis.org

0, 1, 7, 43, 154, 668, 2214, 6876, 16864, 41970, 94710, 202027, 429733, 889207, 1549511, 3238700, 5053317, 8502061, 15583775, 25070899, 40588284, 63604514
Offset: 1

Views

Author

Kevin O'Bryant, Aug 31 2023

Keywords

Comments

This is the greedy B_6 sequence.

Examples

			a(5) != 50 because 50+1+1+1+1+0 = 43+7+1+1+1+1.
		

Crossrefs

Programs

  • Python
    def GreedyBh(h, seed, stopat):
        A = [set() for _ in range(h+1)]
        A[1] = set(seed)    # A[i] will hold the i-fold sumset
        for j in range(2,h+1): # {2,...,h}
            for x in A[1]:
                A[j].update([x+y for y in A[j-1]])
        w = max(A[1])+1
        while w <= stopat:
            wgood = True
            for k in range(1,h):
                if wgood:
                    for j in range(k+1,h+1):
                        if wgood and (A[j].intersection([(j-k)*w + x for x in A[k]]) != set()):
                            wgood = False
            if wgood:
                A[1].add(w)
                for k in range(2,h+1): # update A[k]
                    for j in range(1,k):
                        A[k].update([(k-j)*w + x for x in A[j]])
            w += 1
            return A[1]
    GreedyBh(6,[0],10000)
    
  • Python
    from itertools import count, islice, combinations_with_replacement
    def A365302_gen(): # generator of terms
        aset, alist = set(), []
        for k in count(0):
            bset = set()
            for d in combinations_with_replacement(alist+[k],5):
                if (m:=sum(d)+k) in aset:
                    break
                bset.add(m)
            else:
                yield k
                alist.append(k)
                aset |= bset
    A365302_list = list(islice(A365302_gen(),10)) # Chai Wah Wu, Sep 01 2023

Extensions

a(15)-a(19) from Chai Wah Wu, Sep 01 2023
a(20)-a(22) from Chai Wah Wu, Sep 09 2023

A365303 a(n) is the smallest nonnegative integer such that the sum of any seven ordered terms a(k), k<=n (repetitions allowed), is unique.

Original entry on oeis.org

0, 1, 8, 57, 256, 1153, 4181, 14180, 47381, 115267, 307214, 737909, 1682367, 3850940, 8557010, 18311575, 37925058, 61662056
Offset: 1

Views

Author

Kevin O'Bryant, Aug 31 2023

Keywords

Comments

This is the greedy B_7 sequence.

Examples

			a(3) != 7 because 7+0+0+0+0+0+0 = 1+1+1+1+1+1+1.
		

Crossrefs

Programs

  • Python
    def GreedyBh(h, seed, stopat):
        A = [set() for _ in range(h+1)]
        A[1] = set(seed)    # A[i] will hold the i-fold sumset
        for j in range(2,h+1): # {2,...,h}
            for x in A[1]:
                A[j].update([x+y for y in A[j-1]])
        w = max(A[1])+1
        while w <= stopat:
            wgood = True
            for k in range(1,h):
                if wgood:
                    for j in range(k+1,h+1):
                        if wgood and (A[j].intersection([(j-k)*w + x for x in A[k]]) != set()):
                            wgood = False
            if wgood:
                A[1].add(w)
                for k in range(2,h+1): # update A[k]
                    for j in range(1,k):
                        A[k].update([(k-j)*w + x for x in A[j]])
            w += 1
            return A[1]
    GreedyBh(7,[0],10000)
    
  • Python
    from itertools import count, islice, combinations_with_replacement
    def A365303_gen(): # generator of terms
        aset, alist = set(), []
        for k in count(0):
            bset = set()
            for d in combinations_with_replacement(alist+[k],6):
                if (m:=sum(d)+k) in aset:
                    break
                bset.add(m)
            else:
                yield k
                alist.append(k)
                aset |= bset
    A365303_list = list(islice(A365303_gen(),10)) # Chai Wah Wu, Sep 01 2023

Extensions

a(13)-a(18) from Chai Wah Wu, Sep 13 2023

A365304 a(n) is the smallest nonnegative integer such that the sum of any eight ordered terms a(k), k<=n (repetitions allowed), is unique.

Original entry on oeis.org

0, 1, 9, 73, 333, 1822, 8043, 28296, 102042, 338447, 1054824, 2569353, 6237718, 15947108, 36179796
Offset: 1

Views

Author

Kevin O'Bryant, Aug 31 2023

Keywords

Comments

This is the greedy B_8 sequence.

Examples

			a(4) != 70 because 70+1+1+0+0+0+0+0 = 9+9+9+9+9+9+9+0.
		

Crossrefs

Programs

  • Python
    def GreedyBh(h, seed, stopat):
        A = [set() for _ in range(h+1)]
        A[1] = set(seed)    # A[i] will hold the i-fold sumset
        for j in range(2,h+1): # {2,...,h}
            for x in A[1]:
                A[j].update([x+y for y in A[j-1]])
        w = max(A[1])+1
        while w <= stopat:
            wgood = True
            for k in range(1,h):
                if wgood:
                    for j in range(k+1,h+1):
                        if wgood and (A[j].intersection([(j-k)*w + x for x in A[k]]) != set()):
                            wgood = False
            if wgood:
                A[1].add(w)
                for k in range(2,h+1): # update A[k]
                    for j in range(1,k):
                        A[k].update([(k-j)*w + x for x in A[j]])
            w += 1
            return A[1]
    GreedyBh(8,[0],10000)
    
  • Python
    from itertools import count, islice, combinations_with_replacement
    def A365304_gen(): # generator of terms
        aset, alist = set(), []
        for k in count(0):
            bset = set()
            for d in combinations_with_replacement(alist+[k],7):
                if (m:=sum(d)+k) in aset:
                    break
                bset.add(m)
            else:
                yield k
                alist.append(k)
                aset |= bset
    A365304_list = list(islice(A365304_gen(),10)) # Chai Wah Wu, Sep 01 2023

Extensions

a(11)-a(15) from Chai Wah Wu, Sep 13 2023

A365305 a(n) is the smallest nonnegative integer such that the sum of any nine ordered terms a(k), k<=n (repetitions allowed), is unique.

Original entry on oeis.org

0, 1, 10, 91, 500, 3119, 13818, 59174, 211135, 742330, 2464208, 7616100, 19241477, 56562573
Offset: 1

Views

Author

Kevin O'Bryant, Aug 31 2023

Keywords

Comments

This is the greedy B_9 sequence.

Examples

			a(4) != 72 because 72+1+1+1+1+1+1+1+1+0 = 10+10+10+10+10+10+10+10+0.
		

Crossrefs

Programs

  • Python
    def GreedyBh(h, seed, stopat):
        A = [set() for _ in range(h+1)]
        A[1] = set(seed)    # A[i] will hold the i-fold sumset
        for j in range(2,h+1): # {2,...,h}
            for x in A[1]:
                A[j].update([x+y for y in A[j-1]])
        w = max(A[1])+1
        while w <= stopat:
            wgood = True
            for k in range(1,h):
                if wgood:
                    for j in range(k+1,h+1):
                        if wgood and (A[j].intersection([(j-k)*w + x for x in A[k]]) != set()):
                            wgood = False
            if wgood:
                A[1].add(w)
                for k in range(2,h+1): # update A[k]
                    for j in range(1,k):
                        A[k].update([(k-j)*w + x for x in A[j]])
            w += 1
            return A[1]
    GreedyBh(9,[0],10000)
    
  • Python
    from itertools import count, islice, combinations_with_replacement
    def A365305_gen(): # generator of terms
        aset, alist = set(), []
        for k in count(0):
            bset = set()
            for d in combinations_with_replacement(alist+[k],8):
                if (m:=sum(d)+k) in aset:
                    break
                bset.add(m)
            else:
                yield k
                alist.append(k)
                aset |= bset
    A365305_list = list(islice(A365305_gen(),10)) # Chai Wah Wu, Sep 01 2023

Extensions

a(11)-a(14) from Chai Wah Wu, Sep 13 2023
Showing 1-6 of 6 results.