A330631 a(n+1) = a(n-a(n))+1 if a(n) > a(n-1), otherwise a(n+1) = 2*a(n); a(1) = a(2) = 1.
1, 1, 2, 2, 4, 2, 4, 3, 6, 3, 6, 5, 10, 3, 6, 7, 7, 14, 3, 6, 4, 8, 4, 8, 8, 16, 4, 8, 7, 14, 8, 16, 8, 16, 15, 30, 3, 6, 17, 9, 18, 5, 10, 9, 18, 5, 10, 4, 8, 19, 9, 18, 17, 34, 7, 14, 6, 12, 6, 12, 5, 10, 19, 10, 20, 19, 38, 8, 16, 18, 19, 19, 38, 16, 32
Offset: 1
Keywords
Examples
a(3) = 2*a(2) = 2 because a(2) <= a(1). a(4) = a(3-a(3))+1 = 2 because a(3) > a(2).
Programs
-
Mathematica
Nest[Append[#, If[Less @@ Take[#, -2], #[[Length@ # - #[[-1]] ]] + 1, 2 #[[-1]] ]] &, {1, 1}, 73] (* Michael De Vlieger, Dec 23 2019 *)
-
Python
a = [1,1] for n in range(1, 1000): if(a[n] > a[n-1]): a.append(a[n-a[n]]+1) else: a.append(2*a[n])
Comments