login
a(1)=5, a(2)=9, a(3)=4, a(4)=6; thereafter a(n) = a(n-a(n-1)) + a(n-a(n-2)).
9

%I #16 Jul 25 2022 04:03:38

%S 5,9,4,6,5,5,18,4,5,10,10,18,4,10,15,10,27,4,15,15,10,36,4,15,20,15,

%T 36,4,20,25,15,45,4,25,25,20,45,4,25,35,15,54,4,35,25,20,72,4,25,40,

%U 25,54,4,40,40,20,72,4,40,35,25,81,4,35,50,25,81,4,50,40,25,117

%N a(1)=5, a(2)=9, a(3)=4, a(4)=6; thereafter a(n) = a(n-a(n-1)) + a(n-a(n-2)).

%C In calculating terms of this sequence, use the convention that a(n)=0 for n<=0.

%C Similar to Hofstadter's Q-sequence A005185 but with different starting values.

%C This sequence exists as long as A272611 and A272612 exist.

%C No other term of this sequence changes if a(4) is replaced by a number greater than 6.

%C If a(2) is replaced by a number N greater than 9, then every other term of the form a(5n+2) is replaced by a(5n+2)*N/9.

%H Nathan Fox, <a href="/A272610/b272610.txt">Table of n, a(n) for n = 1..10000</a>

%F a(1)=5, a(2)=9, a(3)=4, a(4)=6; thereafter a(5n)=5*A272611(n), a(5n+1)=5*A272612(n), a(5n+2)=9*A272613(n), a(5n+3)=4, a(5n+4)=5*A272611(n).

%p A272610:=proc(n) option remember:

%p if n <= 0 then

%p return 0:

%p elif n = 1 then

%p return 5:

%p elif n = 2 then

%p return 9:

%p elif n = 3 then

%p return 4:

%p elif n = 4 then

%p return 6:

%p else

%p return A272610(n-A272610(n-1))+A272610(n-A272610(n-2)):

%p fi:

%p end:

%t a[n_] := a[n] = Switch[n, _?NonPositive, 0, 1, 5, 2, 9, 3, 4, 4, 6, _,

%t a[n - a[n - 1]] + a[n - a[n - 2]]];

%t Table[a[n], {n, 1, 80}] (* _Jean-François Alcover_, Jul 24 2022 *)

%o (Python)

%o from functools import cache

%o @cache

%o def a(n):

%o if n < 0: return 0

%o if n < 5: return [0, 5, 9, 4, 6][n]

%o return a(n - a(n-1)) + a(n - a(n-2))

%o print([a(n) for n in range(1, 73)]) # _Michael S. Branicky_, Sep 20 2021

%Y Cf. A005185, A272611, A272612, A272613.

%K nonn

%O 1,1

%A _Nathan Fox_, May 03 2016