A004210 "Magic" integers: a(n+1) is the smallest integer m such that there is no overlap between the sets {m, m-a(i), m+a(i): 1 <= i <= n} and {a(i), a(i)-a(j), a(i)+a(j): 1 <= j < i <= n}.
1, 3, 8, 18, 30, 43, 67, 90, 122, 161, 202, 260, 305, 388, 416, 450, 555, 624, 730, 750, 983, 1059, 1159, 1330, 1528, 1645, 1774, 1921, 2140, 2289, 2580, 2632, 2881, 3158, 3304, 3510, 3745, 4086, 4563, 4741, 4928, 5052, 5407, 5864, 6242, 6528, 6739, 7253
Offset: 1
References
- R. A. Bates, E. Riccomagno, R. Schwabe, H. P. Wynn, Lattices and dual lattices in optimal experimental design for Fourier models, Computational Statistics & Data Analysis Volume 28, Issue 3, 4 September 1998, Pages 283-296. See page 293.
- D. R. Hofstadter, "Goedel, Escher, Bach: An Eternal Golden Braid", Basic Books Incorporated, p. 73
- P. Mark Kayll, Well-spread sequences and edge-labelings with constant Hamiltonian weight, Disc. Math. & Theor. Comp. Sci 6 2 (2004) 401-408
- N. J. A. Sloane and Simon Plouffe, The Encyclopedia of Integer Sequences, Academic Press, 1995 (includes this sequence).
Links
- T. D. Noe, Table of n, a(n) for n = 1..150
- B. G. DeBoer, Letter to N. J. A. Sloane, Dec 15 1978, with enclosure of Silvertom article.
- J. V. Silverton, On the generation of 'magic integrals', Acta Cryst. A34 (1978) p. 634.
- Eric Weisstein's World of Mathematics, Magic Integer.
Programs
-
Haskell
import Data.List (intersect) a004210 n = a004210_list !! (n-1) a004210_list = magics 1 [0] [0] 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 works also as generator for a126428_list, cf. A126428. -- Reinhard Zumkeller, Mar 03 2011
-
Mathematica
a[1] = 1; a[n_] := a[n] = Module[{pairs = Flatten[ Table[{a[j] + a[k], a[k] - a[j]}, {j, 1, n-1}, {k, j+1, n-1}]], an = a[n-1] + 1}, While[ True, If[ Intersection[ Join[ Array[a, n-1], pairs], Prepend[ Flatten[ Table[{a[j] + an, an - a[j]}, {j, 1, n-1}]], an]] == {}, Break[], an++]]; an]; Table[a[n], {n, 1, 48}] (* Jean-François Alcover, Nov 10 2011 *)
Formula
a(n+1) = min{ k | k and k +- a(i) are not equal to a(i) or a(i)-a(j) or a(i)+a(j) for any n+1 > i > j > 0}. [Corrected by T. D. Noe, Sep 08 2008]
Extensions
Additional comments from Robert M. Burton, Jr. (bob(AT)oregonstate.edu), Feb 20 2005
More terms from Joshua Zucker, May 04 2006
Edited by N. J. A. Sloane, Sep 06 2008 at the suggestion of R. J. Mathar
Edited by N. J. A. Sloane, Feb 08 2012
Comments