Рубрики

Программа C / C ++ для максимальной высоты, когда монеты расположены в треугольнике

У нас есть N монет, которые нужно расположить в форме треугольника, то есть в первом ряду будет 1 монета, во втором ряду будет 2 монеты и т. Д. Нам нужно указать максимальную высоту, которой мы можем достичь, используя эти N монет.

Примеры:

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 ++ программа для поиска максимальной высоты расположения
// треугольник монеты
#include <bits/stdc++.h>

using namespace std;

  
/ * Возвращает квадратный корень из n. Обратите внимание, что функция * /

float squareRoot(float n)

{

    / * Мы используем само n в качестве начального приближения

      Это определенно можно улучшить * /

    float x = n;

    float y = 1;

  

    float e = 0.000001; / * е решает уровень точности * /

    while (x - y > e) {

        x = (x + y) / 2;

        y = n / x;

    }

    return x;

}

  
// Способ определения максимальной высоты расположения монет

int findMaximumHeight(int N)

{

    // вычисляем часть внутри квадратного корня

    int n = 1 + 8 * N;

    int maxH = (-1 + squareRoot(n)) / 2;

    return maxH;

}

  
// Код драйвера для проверки вышеуказанного метода

int main()

{

    int N = 12;

    cout << findMaximumHeight(N) << endl;

    return 0;

}

Выход:

4

Пожалуйста, обратитесь к полной статье о максимальной высоте, когда монеты расположены в треугольнике для более подробной информации!

Рекомендуемые посты:

Программа C / C ++ для максимальной высоты, когда монеты расположены в треугольнике

0.00 (0%) 0 votes