|
|
A283165
|
|
a(0) = 0; a(1) = 1; a(2*n) = 2*a(n), a(2*n+1) = 2*a(n) + (-1)^a(n+1).
|
|
3
|
|
|
0, 1, 2, 3, 4, 3, 6, 7, 8, 7, 6, 7, 12, 11, 14, 15, 16, 15, 14, 15, 12, 11, 14, 15, 24, 23, 22, 23, 28, 27, 30, 31, 32, 31, 30, 31, 28, 27, 30, 31, 24, 23, 22, 23, 28, 27, 30, 31, 48, 47, 46, 47, 44, 43, 46, 47, 56, 55, 54, 55, 60, 59, 62, 63, 64, 63, 62, 63, 60, 59, 62, 63, 56, 55, 54, 55, 60, 59, 62, 63, 48, 47, 46, 47, 44, 43, 46, 47, 56, 55, 54
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
0,3
|
|
LINKS
|
|
|
EXAMPLE
|
a(0) = 0;
a(1) = 1;
a(2) = a(2*1) = 2*a(1) = 2;
a(3) = a(2*1+1) = 2*a(1) + (-1)^a(2) = 2*1 + (-1)^2 = 3;
a(4) = a(2*2) = 2*a(2) = 2*2 = 4;
a(5) = a(2*2+1) = 2*a(2) + (-1)^a(3) = 2*2 + (-1)^3 = 3, etc.
|
|
MATHEMATICA
|
a[0] = 0; a[1] = 1; a[n_] := If[EvenQ[n], 2 a[n/2], 2 a[(n - 1)/2] + (-1)^a[(n + 1)/2]]; Table[a[n], {n, 0, 90}]
|
|
PROG
|
(PARI)
a(n) = if (n<2, n, if (n%2==0, 2*a(n/2), 2*a((n-1)/2)+(-1)^(a(n+1)/2)));
tabl(nn)={for (n=0, nn, print1(a(n), ", "); ); };
(Python)
def a(n):
....if n<2: return n
....if n%2==0: return 2*a(n/2)
....else: return 2*a((n-1)/2)+(-1)**a((n+1)/2) # Indranil Ghosh, Mar 03 2017
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|