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