login
A099961
Triangle read by rows: Each row is constructed by forming the partial sums of the previous row, reading from the right and at every third row repeating the final term.
6
1, 1, 1, 1, 1, 2, 2, 3, 3, 5, 5, 5, 10, 13, 13, 23, 28, 28, 51, 64, 64, 64, 128, 179, 207, 207, 386, 514, 578, 578, 1092, 1478, 1685, 1685, 1685, 3370, 4848, 5940, 6518, 6518, 12458, 17306, 20676, 22361, 22361, 43037, 60343, 72801, 79319, 79319, 79319
OFFSET
0,6
COMMENTS
...
LINKS
EXAMPLE
Triangle begins
1;
1,
1, 1;
1, 2,
2, 3,
3, 5, 5;
5, 10, 13,
13, 23, 28,
28, 51, 64, 64;
MAPLE
with(linalg):rev:=proc(a) local n, p; n:=vectdim(a): p:=i->a[n+1-i]: vector(n, p) end: ps:=proc(a) local n, q; n:=vectdim(a): q:=i->sum(a[j], j=1..i): vector(n, q) end: pss:=proc(a) local n, q; n:=vectdim(a): q:=proc(i) if i<=n then sum(a[j], j=1..i) else sum(a[j], j=1..n) fi end: vector(n+1, q) end: R[0]:=vector(1, 1): for n from 1 to 19 do if n mod 3 = 0 or n mod 3 = 1 then R[n]:=ps(rev(R[n-1])) else R[n]:=pss(rev(R[n-1])) fi od: for n from 0 to 19 do evalm(R[n]) od; # program yields the successive rows # Emeric Deutsch, Nov 16 2004
MATHEMATICA
r[0] = {1}; r[n_] := r[n] = Join[ a = Accumulate[ Reverse[r[n-1]]], If[Mod[n, 3] == 2, {Last[a]}, {}]]; Flatten[ Table[r[n], {n, 0, 15}]](* Jean-François Alcover, Mar 13 2012 *)
PROG
(Haskell)
a099961 n k = a099961_tabl !! n !! k
a099961_row n = a099961_tabl !! n
a099961_tabl = map snd $ iterate f (0, [1]) where
f (s, xs) = (s+1, if s `mod` 3 == 1 then zs ++ [last zs] else zs)
where zs = scanl1 (+) (reverse xs)
-- Reinhard Zumkeller, Dec 28 2011
CROSSREFS
First column (and row sums) gives A099962. Cf. A099963, A099967.
If an extra term is added to /every/ row we get A008282. Cf. A099959.
Sequence in context: A108221 A169682 A082524 * A286107 A285735 A038810
KEYWORD
nonn,tabf,nice,easy
AUTHOR
N. J. A. Sloane, Nov 13 2004
EXTENSIONS
More terms from Emeric Deutsch, Nov 16 2004
STATUS
approved