A000045 := proc(n) if n <= 1 then RETURN(n) ; else RETURN( A000045(n-1)+A000045(n-2)) ; fi ; end: A000071 := proc(n) RETURN(A000045(n)-1) ; end: A122931 := proc(n) local a45 ; a45 := A000045(n) ; RETURN (a45*(A000071(n+1)+(a45+1)/2)) ; end: for n from 1 to 30 do printf("%d, ", A122931(n)) ; od ; # R. J. Mathar, Oct 07 2006
MATHEMATICA
(#[[2]]^2-#[[1]]^2-#[[2]]+#[[1]])/2&/@Partition[Fibonacci[ Range[ 2, 30]], 2, 1] (* or *) Module[{nn=30, fib}, fib=Fibonacci[Range[nn]]; Total/@ TakeList[ Range[Total[ fib]], fib]](* Requires Mathematica version 11 or later *) (* Harvey P. Dale, Nov 19 2018 *)