A123402 Combining the conditional divide-by-two concept from Collatz sequences with Pascal's triangle, one can construct a new kind of triangle. Start with an initial row of just 4. To compute subsequent rows, start by appending a zero to the beginning and end of the previous row. Like Pascal's triangle, add adjacent terms of the previous row to create each of the subsequent terms. The only change is that each new term is divided by two if it is even.
4, 2, 2, 1, 2, 1, 1, 3, 3, 1, 1, 2, 3, 2, 1, 1, 3, 5, 5, 3, 1, 1, 2, 4, 5, 4, 2, 1, 1, 3, 3, 9, 9, 3, 3, 1, 1, 2, 3, 6, 9, 6, 3, 2, 1, 1, 3, 5, 9, 15, 15, 9, 5, 3, 1, 1, 2, 4, 7, 12, 15, 12, 7, 4, 2, 1, 1, 3, 3, 11, 19, 27, 27, 19, 11, 3, 3, 1, 1, 2, 3, 7, 15, 23, 27, 23, 15, 7, 3, 2, 1, 1, 3, 5, 5, 11, 19
Offset: 0
Examples
For the row starting with (1,2,4,5,8,...) the subsequent row is computed as follows: 0+1->1, 1+2->3, (2+4)/2->3, 4+5->9, 5+8->13...
Links
- Reed Kelly, Collatz-Pascal Triangle
- Reed Kelly, Collatz-Pascal Triangle, Oct 12 2006 [Local copy]
Programs
-
Mathematica
CollatzPascalTriangle[init_, n_] := Module[{CPT, ROWA, ROWB, a, i, j}, If[ListQ[init], ROWA = init, ROWA = {4}]; CPT = {ROWA}; ROWA = Flatten[{0, ROWA, 0}]; For[i = 1, i < n, i++, ROWB = {0}; For[j = 1, j < Length[ROWA], j++, a = ROWA[[j]] + ROWA[[j + 1]]; a = a/(2 - Mod[a, 2]); ROWB = Append[ROWB, a];]; CPT = Append[CPT, Rest[ROWB]]; ROWA = Append[ROWB, 0]]; CPT] Flatten[ CollatzPascalTriangle[{4},20]]
Formula
Define a(n, m) for integers m, n: a(0, 0)=4, a(n, m) := 0 for m<0 and n