A054240 Bit-interleaved number addition table; like binary addition but carries shift 2 instead of 1; addition base sqrt(2).
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
Offset: 0
Examples
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).
Links
- Reinhard Zumkeller, Antidiagonals n=0..125 of square array, flattened
Crossrefs
Programs
-
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..] -- Reinhard Zumkeller, Dec 03 2011
Formula
From Peter Munn, Dec 10 2019: (Start)
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)