b037. 變異數
Tags :
Accepted rate : 107人/111人 ( 96% ) [非即時]
評分方式:
Special

最近更新 : 2024-11-12 16:06

Content

當老師知道了班上的成績還有總平均後,想知道班上同學的分布狀況。

在統計學上,標準差可以當作班上成績離散程度的參考,因為標準差的平方就是變異數,所以在這裡我們只要先求得變異數就可以了。

如果班上同學的成績為 $x_1, x_2, \dots, x_n$,且平均為 $\mu_x$ ,則變異數的公式為 $\dfrac{(x_1 - \mu_x)^2 + {(x_2 - \mu_x)^2} + ... + (x_n - \mu_x)^2}{n}$,也就是 $\dfrac{\sum\limits_{i=1}^{n} (x_i - \mu_x)^2}{n}$。

請你寫一個程式計算同學們成績的變異數。

 

Input

第一行輸入班上的人數 $n$, $n \leq 40$

接下來 $n$ 行依序輸入每個同學的成績

Output

輸出變異數,精確到小數點後2位。

Sample Input #1
5
60
72
35
88
51
Sample Output #1
325.36
測資資訊:
記憶體限制: 512 MB
公開 測資點#0 (20%): 1.0s , <1K
公開 測資點#1 (20%): 1.0s , <1K
公開 測資點#2 (20%): 1.0s , <1K
公開 測資點#3 (20%): 1.0s , <1K
公開 測資點#4 (20%): 1.0s , <1K
Hint :

PYTHON可以從以下程式碼填充

def average(X, n):
    s = 0
    for i in range(n):
        s = s+X[i]
    avg = s / n
    return avg

def variance(_______):
muX = ________ #呼叫average(取平均)
#以下還有一些程式碼要寫...

    return _____

n = int(input())
scores = [0]*n
for i in range(n):
    scores[i] = int(input())
var = variance(scores, n)
print(f'{var:.2f}')


C++可從以下程式碼填空

#include 
using namespace std;

float average(int L[], int n) {
    float s = 0;
    for (int i = 0; i < n; i++) {
        s += L[i];
    }
    return s / n;
}

float variance(______________) {
    float muX = ____________; //呼叫average取得平均
    //以下還有一些程式碼要寫...

    return _________; } int main() { int n; cin >> n; int scores[45] = {}; for (int i = 0; i < n; i++) { cin >> scores[i]; } float var = variance(scores, n); printf("%.02f", var); }
Tags:
出處:
[管理者: ktlai (K.我已霸榜.Tlai) ]


ID User Problem Subject Hit Post Date
沒有發現任何「解題報告」