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.

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

Original entry on oeis.org

0, 1, 6, 31, 108, 366, 926, 2286, 5733, 12905, 27316, 44676, 94545, 147031, 257637, 435387, 643320, 1107715, 1760092, 2563547, 3744446, 5582657, 8089160, 11373419, 15575157, 21480927, 28569028, 40893371, 53425354, 69774260, 93548428, 119627554
Offset: 1

Views

Author

Kevin O'Bryant, Aug 31 2023

Keywords

Comments

This is the greedy B_5 sequence.

Examples

			a(4) != 20 because 20+1+1+1+1 = 6+6+6+6+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(5,[0],10000)
    
  • Python
    from itertools import count, islice, combinations_with_replacement
    def A365301_gen(): # generator of terms
        aset, alist = set(), []
        for k in count(0):
            bset = set()
            for d in combinations_with_replacement(alist+[k],4):
                if (m:=sum(d)+k) in aset:
                    break
                bset.add(m)
            else:
                yield k
                alist.append(k)
                aset |= bset
    A365301_list = list(islice(A365301_gen(),10)) # Chai Wah Wu, Sep 01 2023

Extensions

a(18)-a(28) from Chai Wah Wu, Sep 01 2023
a(29)-a(30) from Chai Wah Wu, Sep 10 2023
a(31)-a(32) from Chai Wah Wu, Mar 02 2024