Даны действительные числа[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]
Последовательность | Среднее геометрическое |
2 2 2 -3 4 | 2 |
3 6 8 -9 4 5 | 5.24148 |
3 4 5 6 -2 | 4.35588 |
15 12 13 -1 2 | 13.2761 |
2 -1 | 2 |
Код программы:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
#include <iostream> #include <math.h> using namespace std; int main() { double a; double p=1; int n=0; while(cin>>a && a>0) { n++; p*=a; } cout << pow(p,1.0/n); return 0; } |
Считывать числа с потока ввода. Умножаем числа пока не встретится отрицательное.После чего извлекаем корень используя данные счетчика.
Код программы можно посмотреть тут
Зачтено