Software Engine

Bài tập về mảng và vòng lặp for

1. Mean - Giá trị trung bình

$$\bar{x}=\frac{\sum_{i=1}^n{x_i}}{N}$$

Viết chương trình nhập vào 1 mảng các số, tính giá trị trung bình của danh sách đó

Ví dụ: x = [3, 2, 7, 4, 8]

Kết quả trả về giá trị trung bình

$$\bar{x} = \frac{3+2+7+4+8}{5}=4.8$$

2. Variance - Phương sai

Variance sample

$$S^2=\frac{\sum_{i=1}^n{(x_i- \bar{x})^2}}{n-1}$$

Viết chương trình nhập vào 1 mảng các số, tính phương sai mẫu của danh sách trên

Ví dụ: x = [3, 2, 7, 4, 8]

Kết quả trả về giá trị của phương sai mẫu:

$$S^2=\frac{(3-4.8)^2+(2-4.8)^2+(7-4.8)^2+(4-4.8)^2+(8-4.8)^2}{4}=6.7$$

3. Standard Deviation - Độ lệch chuẩn

Standard Deviation sample

$$S=\sqrt{\frac{\sum_{i=1}^n{(x_i- \bar{x})^2}}{N-1}}$$

Viết chương trình nhập vào 1 mảng các số, tính phương sai mẫu của danh sách trên

Ví dụ: x = [3, 2, 7, 4, 8]

Kết quả trả về giá trị của phương sai mẫu:

$$S=\sqrt{\frac{(3-4.8)^2+(2-4.8)^2+(7-4.8)^2+(4-4.8)^2+(8-4.8)^2}{4}}=2.588435821$$

4. Tính khoảng cách Manhattan

Viết chương trình nhập vào 2 vector, tính khoảng cách giữa 2 vector đó bằng công thức manhattan

$$d_{\text{Manhattan}} = \sum_{i=1}^{n} |x_i - y_i|$$

Ví dụ:

x = [3, 2, 7, 4, 8]
y = [4, 3, 2, 5, 9]

Kết quả trả về

$$d_{\text{Manhattan}}=9$$

5. Tính khoảng cách Euclidan

Viết chương trình nhập vào 2 vector, tính khoảng cách giữa 2 vector đó bằng công thức Euclidan

$$d_{\text{Euclidean}} = \sqrt{\sum_{i=1}^{n} (x_i - y_i)^2}$$

Ví dụ:

x = [3, 2, 7, 4, 8]
y = [4, 3, 2, 5, 9]

Kết quả trả về

$$d_{\text{Euclidan}}=5.385$$

6. Covariance - Hiệp phương sai

$$Cov_{x,y}=\frac{\sum_{i=1}^n{(x_i-\bar{x})(y_i-\bar{y})}}{N-1}$$

Viết chương trình nhập vào 2 mảng các số, tính hiệp phương sai mẫu của 2 danh sách trên

Ví dụ:

x = [3, 2, 7, 4, 8]
y = [4, 3, 2, 5, 9]

Kết quả trả về giá trị hiệp phương sai mẫu:

7. Correlation coefficient - Hệ số tương quan

$$Corr_{x,y}=\frac{Cov_{x,y}}{S_x*S_y}=\frac{\sum_{i=1}^n{(x_i-\bar{x})(y_i-\bar{y})}}{\sqrt{\sum_{i=1}^n{(x_i- \bar{x})^2} * \sum_{i=1}^n{(y_i- \bar{y})^2} }}$$

Viết chương trình nhập vào 2 mảng các số, tính hệ số tương của 2 danh sách trên

Ví dụ:

x = [3, 2, 7, 4, 8]
y = [4, 3, 2, 5, 9]

Kết quả trả về giá trị hệ số tương quan mẫu:

$$Corr_{x,y}=\frac{(3-4.8)(4-4.6)+(2-4.8)(3-4.6)+(7-4.8)(2-4.6)+(4-4.8)(5-4.6)+(8-4.8)(9-4.6)}{2.588435821 *2.701851217 }=0.486160965 $$

8. Accuracy

Nhập và 2 mảng một chiều, tính accuracy theo công thức sau

$$\text{Accuracy} = \frac{\sum_{i=1}^{n} \mathbb{I}(a_i = b_i)}{n}$$

Tức là đếm số cặp trùng nhau

Ví dụ:

x = [0, 0, 0, 1, 1, 0, 0, 1]
    y = [0, 1, 0, 1, 1, 0, 0, 1]

Kết quả

$$\text{Accuracy} = \frac{7}{8}=0.875$$

9. Confusion matrix

Nhập vào 2 mảng 1 chiều, tính Confusion matrix

Ví dụ:

yActual = [0, 0, 0, 1, 1, 0, 0, 1]
yPredict = [0, 1, 0, 1, 1, 0, 0, 1]

Output

Confusion MatrixActual
01
Predict 0 4 0
1 1 3

10: Đổi tiền

Nhập vào số tiền cần đổi, in ra kết quả số tờ đổi được bao gồm các loại tiền 50đ, 20đ, 10đ, 5đ, 2đ, 1đ

Yêu cầu: Sử dụng mảng 1 chiều và vòng lặp để in ra số tờ tiền đổi được

InputOutput
19950đ20đ10đ5đ2đ1đ
320120