Cho mẫu dữ liệu gồm n số thực. Sử dụng phương pháp nội suy tuyến tính (linear interpolation, giống hàm PERCENTILE.INC của Excel / numpy.percentile với method="linear") để tính tứ phân vị.
Sắp xếp dãy tăng dần thành y0,y1,…,yn−1 (đánh chỉ số từ 0). Với phân vị mức p∈[0,1], tính vị trí h=p×(n−1), đặt f=⌊h⌋. Nếu f=n−1 thì phân vị bằng yn−1; ngược lại phân vị =yf+(h−f)×(yf+1−yf).
Quy ước: nếu n=1 thì Q1=Q2=Q3=x1, IQR=0, số ngoại lai =0.
Ví dụ
Input:
4
1 2 3 4
Output:
1.7500
2.5000
3.2500
1.5000
0
In ra đúng 5 dòng theo thứ tự: Q1, Q2, Q3, IQR (mỗi giá trị làm tròn đến 4 chữ số thập phân, định dạng %.4f), và số lượng phần tử ngoại lai (một số nguyên).
Ví dụ:
Đầu vào:
1
5
Đầu ra:
5.0000
5.0000
5.0000
0.0000
0
Đầu vào:
4
1 2 3 4
Đầu ra:
1.7500
2.5000
3.2500
1.5000
0
Đang tải editor...