# Sum of numbers in the Kth level of a Fibonacci triangle

• Last Updated : 18 Nov, 2021

Given a number K, the task is to find the sum of numbers at the Kth level of the Fibonacci triangle.
Examples:

```Input: K = 3
Output: 10
Explanation:
Fibonacci triangle till level 3:
0
1 1
2 3 5
Sum at 3rd level = 2 + 3 + 5 = 10

Input: K = 2
Output: 2
Explanation:
Fibonacci triangle till level 3:
0
1 1
Sum at 3rd level = 1 + 1 = 2 ```

Approach:

1. Till Kth level, i.e. from level [1, K-1], count of Fibonacci numbers already used can be computed as:

```cnt = N(Level 1) + N(Level 2)
+ N(Level 3) + ...
+ N(Level K-1)
= 1 + 2 + 3 + ... + (K-1)
= K*(K-1)/2```
1.
2. Also, we know that the Kth level will contain K Fibonacci numbers.
3. Therefore we can find the numbers in the Kth level as Fibonacci numbers in the range [(cnt + 1), (cnt + 1 + K)].
4. We can find the sum of Fibonacci numbers in a range in O(1) time using Binetâ€™s Formula.

Below is the implementation of the above approach:

## C++

 `// C++ implementation to find``// the Sum of numbers in the``// Kth level of a Fibonacci triangle` `#include ``using` `namespace` `std;``#define MAX 1000000` `// Function to return``// the nth Fibonacci number``int` `fib(``int` `n)``{``    ``double` `phi = (1 + ``sqrt``(5)) / 2;``    ``return` `round(``pow``(phi, n) / ``sqrt``(5));``}` `// Function to return``// the required sum of the array``int` `calculateSum(``int` `l, ``int` `r)``{` `    ``// Using our deduced result``    ``int` `sum = fib(r + 2) - fib(l + 1);` `    ``return` `sum;``}` `// Function to return the sum of``// fibonacci in the Kth array``int` `sumFibonacci(``int` `k)``{``    ``// Count of fibonacci which are in``    ``// the arrays from 1 to k - 1``    ``int` `l = (k * (k - 1)) / 2;``    ``int` `r = l + k;` `    ``int` `sum = calculateSum(l, r - 1);` `    ``return` `sum;``}` `// Driver code``int` `main()``{` `    ``int` `k = 3;` `    ``cout << sumFibonacci(k);` `    ``return` `0;``}`

## Java

 `// Java implementation to find``// the Sum of numbers in the``// Kth level of a Fibonacci triangle``import` `java.util.*;` `class` `GFG``{` `// Function to return``// the nth Fibonacci number``static` `int` `fib(``int` `n)``{``    ``double` `phi = (``1` `+ Math.sqrt(``5``)) / ``2``;``    ``return` `(``int``)Math.round(Math.pow(phi, n) / Math.sqrt(``5``));``}` `// Function to return``// the required sum of the array``static` `int` `calculateSum(``int` `l, ``int` `r)``{` `    ``// Using our deduced result``    ``int` `sum = fib(r + ``2``) - fib(l + ``1``);` `    ``return` `sum;``}` `// Function to return the sum of``// fibonacci in the Kth array``static` `int` `sumFibonacci(``int` `k)``{``    ``// Count of fibonacci which are in``    ``// the arrays from 1 to k - 1``    ``int` `l = (k * (k - ``1``)) / ``2``;``    ``int` `r = l + k;` `    ``int` `sum = calculateSum(l, r - ``1``);` `    ``return` `sum;``}` `// Driver code``public` `static` `void` `main(String args[])``{` `    ``int` `k = ``3``;` `    ``System.out.println(sumFibonacci(k));``}``}` `// This code is contributed by AbhiThakur`

## Python3

 `# Python3 implementation to find``# the Sum of numbers in the``# Kth level of a Fibonacci triangle` `import` `math``MAX` `=` `1000000` `# Function to return``# the nth Fibonacci number``def` `fib(n):` `    ``phi ``=` `(``1` `+` `math.sqrt(``5``)) ``/` `2``    ``return` `round``(``pow``(phi, n) ``/` `math.sqrt(``5``))`` `  `# Function to return``# the required sum of the array``def` `calculateSum(l, r):` `    ``# Using our deduced result``    ``sum` `=` `fib(r ``+` `2``) ``-` `fib(l ``+` `1``)` `    ``return` `sum` `# Function to return the sum of``# fibonacci in the Kth array``def` `sumFibonacci(k) :``    ``# Count of fibonacci which are in``    ``# the arrays from 1 to k - 1``    ``l ``=` `(k ``*` `(k ``-` `1``)) ``/` `2``    ``r ``=` `l ``+` `k` `    ``sum` `=` `calculateSum(l, r ``-` `1``)` `    ``return` `sum` `# Driver code``k ``=` `3` `print``(sumFibonacci(k))` `# This code is contributed by Sanjit_Prasad`

## C#

 `// C# implementation to find``// the Sum of numbers in the``// Kth level of a Fibonacci triangle``using` `System;` `class` `GFG ``{``  ` `// Function to return``// the nth Fibonacci number``static` `int` `fib(``int` `n)``{``    ``double` `phi = (1 + Math.Sqrt(5)) / 2;``    ``return` `(``int``)Math.Round(Math.Pow(phi, n) / Math.Sqrt(5));``}`` ` `// Function to return``// the required sum of the array``static` `int` `calculateSum(``int` `l, ``int` `r)``{`` ` `    ``// Using our deduced result``    ``int` `sum = fib(r + 2) - fib(l + 1);`` ` `    ``return` `sum;``}`` ` `// Function to return the sum of``// fibonacci in the Kth array``static` `int` `sumFibonacci(``int` `k)``{``    ``// Count of fibonacci which are in``    ``// the arrays from 1 to k - 1``    ``int` `l = (k * (k - 1)) / 2;``    ``int` `r = l + k;`` ` `    ``int` `sum = calculateSum(l, r - 1);`` ` `    ``return` `sum;``}`` ` `// Driver code``public` `static` `void` `Main() ``{ `` ` `    ``int` `k = 3;`` ` `    ``Console.Write(sumFibonacci(k));``}``}` `// This code is contributed by mohit kumar 29`

## Javascript

 ``

Output:

`10`

Time Complexity: O((log n) + (n1/2))

Auxiliary Space: O(1)

My Personal Notes arrow_drop_up