jQuery

Срочно помогите решить задачу кто в этом разберётся

Напишите пожалуйста как задачу
Количество камней в зависимости от стороны треугольника – арифметическая прогрессия с разностью, равной единице (в каждом ряду на 1 камень больше, чем в предыдущем). Таким образом, количество камней в зависимости от длины стороны – сумма прогрессии:

S = (2*a1 + (n-1)*d)*n / 2 = (2 + n - 1)*n / 2
Получается, что 2*s = (n+1)*n
Следовательно, n^2 + n - 2*s = 0

Решаем уравнение относительно n:
n1 = -1/2 + Sqrt(1/4 + 2*S)
n2 = -1/2 - Sqrt(1/4 + 2*S)

Второй корень отбрасываем – явно отрицательное число (пирамидки с отрицательной стороной не бывает).

Получаем, что
n = Sqrt(1/4 + 2*S) - 1/2
где n – размер пирамидки, а S – количество камней.

Например:
S = 3:
n = Sqrt(1/4 + 6) - 1/2 = Sqrt(25/4) - 1/2 = 5/2 - 1/2 = 4/2 = 2
– в пирамидке из 3 камней длина стороны = 2

S = 6:
n = Sqrt(1/4 + 12) - 1/2 = Sqrt(49/4) - 1/2 = 6/2 = 3
– в пирамидке из 6 камней длина стороны = 3

Теперь, собственно, программа:

#include <stdio.h>
#include <math.h>

int main(int argc, char* argv[]) {
size_t count;
double length;

printf("Введите общее число камней: ");
scanf("%lu", &count);

length = sqrt(0.25 + 2.0 * count) - 0.5;
printf("Максимально возможная сторона: %.0f\n", trunc(length));

return 0;
}
Евгений Главатских
Евгений Главатских
1 098
Лучший ответ