%I #32 Feb 19 2024 10:29:52
%S 1,2,3,5,4,9,6,7,8,15,10,11,12,13,14,27,16,17,18,19,20,21,22,23,24,25,
%T 26,51,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,
%U 49,50,99,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71
%N If the numbers a(1)...a(n) contain a hole, then a(n+1) is the smallest hole; otherwise a(n+1) = a(n-1) + a(n).
%C Let H be the set of positive numbers less than a(n) which are not equal to some a(i), i < n. This H is the 'set of holes so far'. If H is nonempty, then define a(n+1) = minimum(H). Otherwise define a(n+1) = a(n-1) + a(n).
%C Permutation of the natural numbers with inverse A099424.
%C A060013(n+1) = a(A060013(n)+1). - _Reinhard Zumkeller_, Mar 04 2008
%H Reinhard Zumkeller, <a href="/A060000/b060000.txt">Table of n, a(n) for n = 1..10000</a>
%H <a href="/index/Per#IntegerPermutation">Index entries for sequences that are permutations of the natural numbers</a>
%F a(k)=k-1 if k>=7 and k <> 2^m * 3 + 4; a(k)=(k-1)*2-3 if k>=7 and k == 2^m * 3 + 4. - _Alfred Heiligenbrunner_, Jun 08 2004
%t h = {1, 2}; a = 1; b = 2; Do[ g = Sort[ h ]; If[ g[ [ -1 ] ] + 1 == n, c = a + b, k = 1; While[ g[ [ k ] ] == k, k++ ]; c = k ]; a = b; b = c; h = Append[ h, c ], { n, 3, 100} ]; h
%t (* faster program *) h = {1, 2, 3, 5, 4, 9}; lastSum = 9; Do[AppendTo[h, If[ ++akt < lastSum, akt, ++akt; lastSum = 2*lastSum - 3]], {akt, 5, 100}]; h (* _Alfred Heiligenbrunner_, Jun 05 2004 *)
%o (Haskell)
%o a060000 n = a060000_list !! (n-1)
%o a060000_list = 1 : 2 : f 1 2 2 [] where
%o f x y m [] = z : f y z z [m+1..z-1] where z = x + y
%o f x y m (h:hs) = h : f y h m hs
%o -- _Reinhard Zumkeller_, Sep 22 2011
%Y Cf. A060013, A060030, A000045.
%K easy,nonn,nice
%O 1,2
%A _Rainer Rosenthal_, Mar 09 2001
%E More terms from _Robert G. Wilson v_ and Larry Reeves (larryr(AT)acm.org), Mar 15 2001