Java Program for Maximum height when coins are arranged in a triangle

We have N coins which need to arrange in form of a triangle, i.e. first row will have 1 coin, second row will have 2 coins and so on, we need to tell maximum height which we can achieve by using these N coins.

Examples:

Input : N = 7 Output : 3 Maximum height will be 3, putting 1, 2 and then 3 coins. It is not possible to use 1 coin left. Input : N = 12 Output : 4 Maximum height will be 4, putting 1, 2, 3 and 4 coins, it is not possible to make height as 5, because that will require 15 coins.

`// Java program to find maximum height ` `// of arranged coin triangle ` `class` `GFG { ` ` ` ` ` `/* Returns the square root of n. ` ` ` `Note that the function */` ` ` `static` `float` `squareRoot(` `float` `n) ` ` ` `{ ` ` ` ` ` `/* We are using n itself as ` ` ` `initial approximation.This ` ` ` `can definitely be improved */` ` ` `float` `x = n; ` ` ` `float` `y = ` `1` `; ` ` ` ` ` `// e decides the accuracy level ` ` ` `float` `e = ` `0` `.000001f; ` ` ` `while` `(x - y > e) { ` ` ` `x = (x + y) / ` `2` `; ` ` ` `y = n / x; ` ` ` `} ` ` ` ` ` `return` `x; ` ` ` `} ` ` ` ` ` `// Method to find maximum height ` ` ` `// of arrangement of coins ` ` ` `static` `int` `findMaximumHeight(` `int` `N) ` ` ` `{ ` ` ` ` ` `// calculating portion inside ` ` ` `// the square root ` ` ` `int` `n = ` `1` `+ ` `8` `* N; ` ` ` `int` `maxH = (` `int` `)(-` `1` `+ squareRoot(n)) / ` `2` `; ` ` ` ` ` `return` `maxH; ` ` ` `} ` ` ` ` ` `// Driver code ` ` ` `public` `static` `void` `main(String[] args) ` ` ` `{ ` ` ` `int` `N = ` `12` `; ` ` ` ` ` `System.out.print(findMaximumHeight(N)); ` ` ` `} ` `} ` ` ` `// This code is contributed by Anant Agarwal. ` |

*chevron_right*

*filter_none*

**Output:**

4

Please refer complete article on Maximum height when coins are arranged in a triangle for more details!