A126428 a(1) = 1; for n > 1, a(n) = smallest number > a(n-1) such that pairwise sums and (absolute) differences of distinct elements are all distinct.
1, 2, 6, 12, 21, 37, 58, 84, 112, 129, 173, 213, 266, 307, 373, 446, 513, 589, 639, 829, 916, 1061, 1209, 1297, 1429, 1461, 1626, 1783, 1964, 2220, 2576, 2653, 2875, 3064, 3307, 3605, 3889, 4228, 4332, 4412, 4658, 5337, 5618, 5647, 6281, 6511, 7001, 7388
Offset: 1
Keywords
Examples
a(1) = 1, a(2) = 2; n = 3: k = 3, k-a(2) = 1 = a(2)-a(1), so a(3) > 3; k = 4: k-a(1) = 3 = a(1)+a(2), so a(3) > 4; k = 5: k-a(2) = 3 = a(1)+a(2), so a(3) > 5; k=6: k-a(1) = 5, k-a(2) = 4, k+a(1) = 7, k+a(2) = 8, a(2)-a(1) = 1, a(2)+a(1) = 3 are all distinct, hence a(3) = 6.
Links
- Klaus Brockhaus, Table of n, a(n) for n = 1..2000
- Eric Weisstein's World of Mathematics, B2-Sequence
- Index entries for B_2 sequences
Crossrefs
Cf. A005282 (Mian-Chowla sequence).
Programs
-
Haskell
import Data.List (intersect) a126428 n = a126428_list !! (n-1) a126428_list = magics 1 [] [] where magics :: Integer -> [Integer] -> [Integer] -> [Integer] magics n ms tests | tests `intersect` nMinus == [] && tests `intersect` nPlus == [] = n : magics (n+1) (n:ms) (nMinus ++ nPlus ++ tests) | otherwise = magics (n+1) ms tests where nMinus = map (n -) ms nPlus = map (n +) ms -- magics is the generator for a004210_list, cf. A004210, magic integers. -- Reinhard Zumkeller, Mar 03 2011
-
PARI
{m=48; u=[]; s=Set(); k=0; for(n=1, m, b=1; while(b, b=0; k++; j=0; while(!b&&j<#u, j++; if(setsearch(s, k-u[j])||setsearch(s, k+u[j]), b=1))); print1(k, ","); if(n
Extensions
Edited and extended by Klaus Brockhaus, Sep 05 2007