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.

A262057 Array based on the Stanley sequence S(0), A005836, by antidiagonals.

This page as a plain text file.
%I A262057 #54 Jan 06 2024 12:07:00
%S A262057 0,2,1,7,5,3,21,8,6,4,23,22,16,11,9,64,26,24,17,14,10,69,65,50,25,19,
%T A262057 15,12,71,70,67,53,48,20,18,13,193,80,78,68,59,49,34,29,27,207,194,
%U A262057 152,79,73,62,51,35,32,28,209,208,196,161,150,74,63,52,43,33,30
%N A262057 Array based on the Stanley sequence S(0), A005836, by antidiagonals.
%C A262057 This array is similar to a dispersion in that the first column is the minimal nonnegative sequence that contains no 3-term arithmetic progression, and each next column is the minimal sequence consisting of the numbers rejected from the previous column that contains no 3-term arithmetic progression.
%C A262057 A100480(n) describes which column n is sorted into.
%C A262057 The columns of the array form the greedy partition of the nonnegative integers into sequences that contain no 3-term arithmetic progression. - _Robert Israel_, Feb 03 2016
%H A262057 Max Barrentine and Robert Israel, <a href="/A262057/b262057.txt">Table of n, a(n) for n = 1..10011</a> (first 141 antidiagonals, flattened; n=1..77 from Max Barrentine)
%F A262057 A006997(A(n, k)) = k - 1. - _Rémy Sigrist_, Jan 06 2024
%e A262057 From the top-left corner, this array starts:
%e A262057    0   2   7  21  23  64
%e A262057    1   5   8  22  26  65
%e A262057    3   6  16  24  50  67
%e A262057    4  11  17  25  53  68
%e A262057    9  14  19  48  59  73
%e A262057   10  15  20  49  62  74
%p A262057 M:= 20: # to get the first M antidiagonals
%p A262057 for i from 1 to M do B[i]:= {}: F[i]:= {}: od:
%p A262057 countdowns:= Vector(M,j->M+1-j):
%p A262057 for x from 0 while max(countdowns) > 0 do
%p A262057   for i from 1 do
%p A262057      if not member(x, F[i]) then
%p A262057        F[i]:= F[i] union map(y -> 2*x-y, B[i]);
%p A262057        B[i]:= B[i] union {x};
%p A262057        countdowns[i]:= countdowns[i] - 1;
%p A262057      break
%p A262057     fi
%p A262057   od;
%p A262057 od:
%p A262057 seq(seq(B[n+1-i][i], i=1..n),n=1..M); # _Robert Israel_, Feb 03 2016
%o A262057 (MATLAB)
%o A262057 function  A = A262057( M, N )
%o A262057 % to get first M antidiagonals using x up to N
%o A262057 B = cell(1,M);
%o A262057 F = zeros(M,N+1);
%o A262057 countdowns = [M:-1:1];
%o A262057 for x=0:N
%o A262057     if max(countdowns) == 0
%o A262057         break
%o A262057     end
%o A262057     for i=1:M
%o A262057         if F(i,x+1) == 0
%o A262057             newforb = 2*x - B{i};
%o A262057             newforb = newforb(newforb <= N & newforb >= 1);
%o A262057             F(i,newforb+1) = 1;
%o A262057             B{i}(end+1) = x;
%o A262057             countdowns(i) = countdowns(i)-1;
%o A262057             break
%o A262057         end
%o A262057     end
%o A262057 end
%o A262057 if max(countdowns) > 0
%o A262057     [~,jmax] = max(countdowns);
%o A262057     jmax = jmax(1);
%o A262057     error ('Need larger N: B{%d} has only %d elements',jmax,numel(B{jmax}));
%o A262057 end
%o A262057 A = zeros(1,M*(M+1)/2);
%o A262057 k = 0;
%o A262057 for n=1:M
%o A262057     for i=1:n
%o A262057         k=k+1;
%o A262057         A(k) = B{n+1-i}(i);
%o A262057     end
%o A262057 end
%o A262057 end % _Robert Israel_, Feb 03 2016
%Y A262057 First column is A005836.
%Y A262057 First row is A265316.
%Y A262057 Cf. A006997, A074940, A100480.
%K A262057 nonn,tabl
%O A262057 1,2
%A A262057 _Max Barrentine_, Nov 29 2015