|
|
A054240
|
|
Bit-interleaved number addition table; like binary addition but carries shift 2 instead of 1; addition base sqrt(2).
|
|
4
|
|
|
0, 1, 1, 2, 4, 2, 3, 3, 3, 3, 4, 6, 8, 6, 4, 5, 5, 9, 9, 5, 5, 6, 16, 6, 12, 6, 16, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 18, 12, 18, 16, 18, 12, 18, 8, 9, 9, 13, 13, 17, 17, 13, 13, 9, 9, 10, 12, 10, 24, 18, 20, 18, 24, 10, 12, 10, 11, 11, 11, 11, 19, 19, 19, 19, 11, 11, 11, 11, 12, 14, 32, 14
(list;
table;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
0,4
|
|
LINKS
|
|
|
FORMULA
|
A(m,0) = A(0,m) = m.
A(n,k) = A(k,n).
A(n, A(m,k)) = A(A(n,m), k).
A(m,m) = 4*m.
A(2*n, 2*k) = 2*A(n,k).
(End)
|
|
EXAMPLE
|
T(3,1)=6 because (0*2 + 1*sqrt(2) + 1*1) + (0*2 + 0*sqrt(2) + 1*1) = (1*2 + 1*sqrt(2) + 0*1) (i.e., base sqrt(2) addition).
|
|
PROG
|
(Haskell)
import Data.Bits (xor, (.&.), shift)
a054240 :: Integer -> Integer -> Integer
a054240 x 0 = x
a054240 x y = a054240 (x `xor` y) (shift (x .&. y) 2)
a054240_adiag n = map (\k -> a054240 (n - k) k) [0..n]
a054240_square = map a054240_adiag [0..]
|
|
CROSSREFS
|
Cf. A201651 (triangle read by rows).
|
|
KEYWORD
|
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|