Open In App

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

Last Updated : 05 Dec, 2018
Comments
Improve
Suggest changes
Like Article
Like
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
// 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!

Next Article
Article Tags :
Practice Tags :

Similar Reads