Programa C/C++ para altura máxima cuando las monedas están dispuestas en un triángulo

Tenemos N monedas que deben organizarse en forma de triángulo, es decir, la primera fila tendrá 1 moneda, la segunda fila tendrá 2 monedas y así sucesivamente, necesitamos decir la altura máxima que podemos lograr usando estas N monedas.

Ejemplos:

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.
// C++ program to find maximum height of arranged
// coin triangle
#include <bits/stdc++.h>
using namespace std;
  
/* Returns the square root of n. Note that the function */
float squareRoot(float n)
{
    /* We are using n itself as initial approximation
      This can definitely be improved */
    float x = n;
    float y = 1;
  
    float e = 0.000001; /* e decides the accuracy level*/
    while (x - y > e) {
        x = (x + y) / 2;
        y = n / x;
    }
    return x;
}
  
// Method to find maximum height of arrangement of coins
int findMaximumHeight(int N)
{
    // calculating portion inside the square root
    int n = 1 + 8 * N;
    int maxH = (-1 + squareRoot(n)) / 2;
    return maxH;
}
  
// Driver code to test above method
int main()
{
    int N = 12;
    cout << findMaximumHeight(N) << endl;
    return 0;
}
Producción:

4

¡ Consulte el artículo completo sobre Altura máxima cuando las monedas están dispuestas en un triángulo para obtener más detalles!

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *