Number of edges in a perfect binary tree with N levels

Given a positive integer **N**, the task is to find the count of edges of a perfect binary tree with **N** levels.**Examples:**

Input:N = 2Output:2 1 / \ 2 3Input:N = 3Output:6 1 / \ 2 3 / \ / \ 4 5 6 7

**Approach:** It can be observed that for the values of **N = 1, 2, 3, …**, a series will be formed as **0, 2, 6, 14, 30, 62, …** whose **N ^{th}** term is

**2**.

^{N}– 2Below is the implementation of the above approach:

## C++

`// C++ implementation of the approach` `#include <bits/stdc++.h>` `using` `namespace` `std;` `// Function to return the count` `// of edges in an n-level` `// perfect binary tree` `int` `cntEdges(` `int` `n)` `{` ` ` `int` `edges = ` `pow` `(2, n) - 2;` ` ` `return` `edges;` `}` `// Driver code` `int` `main()` `{` ` ` `int` `n = 4;` ` ` `cout << cntEdges(n);` ` ` `return` `0;` `}` |

## Java

`// Java implementation of the approach` `class` `GFG` `{` ` ` `// Function to return the count` `// of edges in an n-level` `// perfect binary tree` `static` `int` `cntEdges(` `int` `n)` `{` ` ` `int` `edges = (` `int` `)Math.pow(` `2` `, n) - ` `2` `;` ` ` `return` `edges;` `}` `// Driver code` `public` `static` `void` `main(String[] args)` `{` ` ` `int` `n = ` `4` `;` ` ` `System.out.println(cntEdges(n));` `}` `}` `// This code is contributed by Code_Mech` |

## Python3

`# Python3 implementation of the approach` `# Function to return the count` `# of edges in an n-level` `# perfect binary tree` `def` `cntEdges(n) :` ` ` `edges ` `=` `2` `*` `*` `n ` `-` `2` `;` ` ` ` ` `return` `edges;` `# Driver code` `if` `__name__ ` `=` `=` `"__main__"` `:` ` ` `n ` `=` `4` `;` ` ` `print` `(cntEdges(n));` `# This code is contributed by AnkitRai01` |

## C#

`// C# implementation of the approach` `using` `System;` `class` `GFG` `{` ` ` `// Function to return the count` `// of edges in an n-level` `// perfect binary tree` `static` `int` `cntEdges(` `int` `n)` `{` ` ` `int` `edges = (` `int` `)Math.Pow(2, n) - 2;` ` ` `return` `edges;` `}` `// Driver code` `public` `static` `void` `Main(String[] args)` `{` ` ` `int` `n = 4;` ` ` `Console.Write(cntEdges(n));` `}` `}` `// This code is contributed by Mohit Kumar` |

## Javascript

`<script>` `// Javascript implementation of the approach` `// Function to return the count` `// of edges in an n-level` `// perfect binary tree` `function` `cntEdges(n)` `{` ` ` `var` `edges = Math.pow(2, n) - 2;` ` ` `return` `edges;` `}` `// Driver code` `var` `n = 4;` `document.write(cntEdges(n));` `</script>` |

**Output:**

14

Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the **Essential Maths for CP Course** at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more, please refer **Complete Interview Preparation Course****.**