cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A054240 Bit-interleaved number addition table; like binary addition but carries shift 2 instead of 1; addition base sqrt(2).

Original entry on oeis.org

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

Views

Author

Marc LeBrun, Feb 07 2000

Keywords

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).
		

Crossrefs

Cf. A000695, A054239, A057300, A062880, A352909 (pairs (i,j) such that A(i,j) = i+j).
Cf. A201651 (triangle read by rows).

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).
A(A000695(n), A000695(k)) = A000695(n+k).
A(A000695(n), 2*A000695(k)) = A000695(n) + 2*A000695(k).
A(A000695(n) + 2*A000695(m), k) = A(A000695(n), k) + A(2*A000695(m), k) - k.
A(A057300(n), A057300(k)) = A057300(A(n,k)).
(End)