OFFSET
0,6
COMMENTS
...
LINKS
Reinhard Zumkeller, Rows n=0..120 of triangle, flattened
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
KEYWORD
nonn,tabf,nice,easy
AUTHOR
N. J. A. Sloane, Nov 13 2004
EXTENSIONS
More terms from Emeric Deutsch, Nov 16 2004
STATUS
approved