ML4. Линейные вычисления

Условие
Даны два действительных положительных числа. Найти среднее арифметическое и среднее геометрическое этих чисел.

Тесты

Входные данные Выходные данные
1 -1 -3 -2 1.73205
2 5 6 5.5 5.47723
3 4 6 5 4.89898
4 100 2.6 51.3 16.1245
Решение
Так как нам в задаче не указано какой длины будут числа, мы используем тип данных long double, который поможет охватить весь их диапазон. Для того, чтобы найти среднее арифметическое чисел нам нужно воспользоваться формулой: $latex A=\frac{x_1+x_2+ \ldots +x_n}{n}$, но так как у нас задано всего два числа, будем пользоваться этой формулой: $latex A= \frac{a+b}{2}$. Среднее геометрическое вычисляется по формуле: $latex G=\sqrt[n]{x_1+x_2+ \ldots +x_n}$, но нам понадобиться формула только для двух чисел: $latex G=\sqrt{a . b}$

Ideone.com

А165г. Среднее геометрическое

Задача:
Даны действительные числа [latex]a_{1}, a_{2},\ldots[/latex] .
Известно, что [latex]a_{1} > 0,[/latex] и что среди [latex]a_{2}, a_{3},\ldots[/latex] есть хотя бы одно отрицательное число.
Пусть [latex]a_{1},\ldots,a_{n}[/latex] — члены данной последовательности, предшествующие первому отрицательному члену([latex]n[/latex] заранее неизвестно)
Получить:
г) среднее геометрическое [latex]a_{1},\ldots,a_{n}[/latex].

Тесты:

Последовательность Среднее геометрическое
3 6 8 -9 4 5 5.24
13 14 1 4 5 6 -8 1 12 5.29
2 -3 4 2.00
2 2 2 -3 2 3 4 5 2.00
79 3 0.05 2.28

Код программы:

Алгоритм:

Считывать числа с потока ввода. Умножаем числа пока не встретится отрицательное. После чего извлекаем корень используя данные счетчика.
Формула для нахождения Среднего геометрического : [latex]a_{gm} = \sqrt[n]{a_{1}\cdot a_{2}\cdot \ldots \cdot a_{n}}[/latex] Рабочий код на ideone.com