login
A033497
a(n) = 2*a(n-1) + a(floor(n/2)), with a(1) = 1, a(2) = 2, a(3) = 4.
2
1, 2, 4, 10, 22, 48, 100, 210, 430, 882, 1786, 3620, 7288, 14676, 29452, 59114, 118438, 237306, 475042, 950966, 1902814, 3807414, 7616614, 15236848, 30477316, 60961920, 121931128, 243876932, 487768540, 975566532, 1951162516, 3902384146, 7804827406, 15609773250
OFFSET
1,2
LINKS
MAPLE
A033497 := proc(n) option remember; if n <= 3 then 2^(n-1) else A033497(n-1)+A033497(round(2*(n-1)/2))+A033497(round((n-1)/2)); fi; end;
MATHEMATICA
a[1]=1; a[2]=2; a[3]=4; a[n_]:=a[n]=2a[n-1]+a[Floor[n/2]]; Array[a, 40] (* Harvey P. Dale, Aug 08 2019 *)
a[n_]:= a[n]= If[n<4, 2^(n-1), 2*a[n-1] + a[Floor[n/2]]]; Table[a[n], {n, 40}] (* G. C. Greubel, Oct 14 2019 *)
PROG
(PARI) a=vector(99, i, i*(i-1)/2+1); for(n=4, #a, a[n]=2*a[n-1]+a[n\2]); a \\ Charles R Greathouse IV, Nov 29 2011
(Magma) a:= func< n | n lt 4 select 2^(n-1) else 2*Self(n-1) + Self(Floor(n/2)) >;
[a(n): n in [1..40]]; // G. C. Greubel, Oct 14 2019
(Sage)
@CachedFunction
def a(n):
if (n<4): return 2^(n-1)
else: return 2*a(n-1) +a(floor(n/2))
[a(n) for n in (1..40)] # G. C. Greubel, Oct 14 2019
(GAP)
a:= function(n)
if n<4 then return 2^(n-1);
else return 2*a(n-1) + a(Int(n/2));
fi;
end;
List([1..40], n-> a(n) ); # G. C. Greubel, Oct 14 2019
CROSSREFS
Sequence in context: A091618 A181158 A018108 * A327471 A239075 A260916
KEYWORD
nonn,easy
STATUS
approved