-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy path1.6.Step9.cpp
33 lines (31 loc) · 1.48 KB
/
1.6.Step9.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/*
1.6 Действительные числа. Шаг 9
Дана последовательность натуральных чисел x1, x2, ..., xn. Стандартным отклонением называется величина
b = sqrt( ((x1 - s)^2 + (x2 - s)^2 + ... + (xn - s)^2) / (n - 1) )
где
s = (x1 + x2 + ... + xn) / n
- среднее значение последовательности.
Определите стандартное отклонение для данной последовательности натуральных чисел, завершающейся числом 0.
Формат входных данных:
Вводится последовательность натуральных чисел, оканчивающаяся числом 0
(само число 0 в последовательность не входит, а служит как признак ее окончания).
В последовательности не менее двух чисел до 0.
Формат выходных данных:
Выведите ответ на задачу.
Sample Input: 1 7 9 0
Sample Output: 4.16333199893
*/
#include <iostream>
#include <iomanip>
int main() {
while (true) {
int x, sum1 = 0, sum2 = 0, n = 0;
while (std::cin >> x && x) {
sum1 += x * x;
sum2 += x;
n++;
}
std::cout << std::setprecision(11) << std::fixed << sqrt((sum1 - (double)sum2 * sum2 / n) / (n - 1));
}
return 0;
}