Reminder: The OEIS is hiring a new managing editor, and the application deadline is January 26.
%I #25 Apr 14 2019 19:07:25
%S 0,1,0,1,3,0,1,4,0,3,7,1,1,7,2,5,11,6,1,7,6,3,13,11,3,4,9,10,15,9,10,
%T 7,10,14,11,9,16,12,6,11,19,15,12,19,12,23,22,7,12,19,18,17,18,11,17,
%U 27,13,20,28,17,9,22,29,18,26,18,30,18,15,24,20,20,28,28,24,24,18,21,28
%N Sum of binary weights of two consecutive Fibonacci numbers minus the binary weight of the following Fibonacci number.
%C The binary weight of a positive Fibonacci number is at least 1 (and at least 2 for positive Fibonacci numbers other than 1, 2, 8) but not more than the sum of the binary weights of the previous two Fibonacci numbers.
%C Therefore a(n) is at least 0, at most n - 1.
%C Number of carries in base-2 addition of A000045(n-2)+A000045(n-1)=A000045(n). - _Robert Israel_, Apr 14 2019
%H Robert Israel, <a href="/A307451/b307451.txt">Table of n, a(n) for n = 2..10000</a>
%H Dario Carrasquel, <a href="https://dariocarrasquel.com/2016/08/26/5-ways-to-solve-fibonacci-in-scala-tail-recursion-memoization-the-pisano-period-more/">5 ways to solve Fibonacci in Scala - Tail Recursion, Memoization, The Pisano Period & More</a>, August 26, 2016.
%F a(n) = (A011373(n - 2) + A011373(n - 1)) - A011373(n).
%e Fibonacci(8) = 21 = 10101 in binary.
%e Fibonacci(9) = 34 = 100010 in binary.
%e Fibonacci(10) = 55 = 110111 in binary, which has five 1s. We see that 10101 has three 1s and 100010 just two. Thus a(10) = 0.
%p B:= map(t -> convert(convert(combinat:-fibonacci(t),base,2),`+`), [$0..100]):
%p B[1..-3]-B[2..-2]-B[3..-1]; # _Robert Israel_, Apr 14 2019
%t Table[(DigitCount[Fibonacci[n - 2], 2, 1] + DigitCount[Fibonacci[n - 1], 2, 1]) - DigitCount[Fibonacci[n], 2, 1], {n, 2, 100}]
%o (Scala) def fibonacci(n: BigInt): BigInt = {
%o val zero = BigInt(0)
%o def fibTail(n: BigInt, a: BigInt, b: BigInt): BigInt = n match {
%o case `zero` => a
%o case _ => fibTail(n - 1, b, a + b)
%o }
%o fibTail(n, 0, 1)
%o } // Based on "Case 3: Tail Recursion" from Carrasquel (2016) link
%o (2 to 100).map(n => (fibonacci(n - 2).bitCount + fibonacci(n - 1).bitCount) - fibonacci(n).bitCount)
%o (PARI) f(n) = hammingweight(fibonacci(n)); \\ A011373
%o a(n) = f(n-1) + f(n-2) - f(n); \\ _Michel Marcus_, Apr 14 2019
%Y Cf. A000045, A000120, A011373.
%K nonn,easy,base
%O 2,5
%A _Alonso del Arte_, Apr 08 2019