Open In App

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

Last Updated : 05 Dec, 2018
Improve
Improve
Like Article
Like
Save
Share
Report

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.


Output:

4

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



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads