Cho dãy số liệu gồm n giá trị. Sử dụng phương pháp nội suy tuyến tính (tương tự hàm PERCENTILE.INC của Excel / phương pháp mặc định của NumPy) để tính tứ phân vị thứ nhất Q1 (phân vị 25%) và tứ phân vị thứ ba Q3 (phân vị 75%):
Sắp xếp dãy tăng dần thành s0,s1,…,sn−1 (chỉ số từ 0). Với p∈{0.25,0.75}, đặt h=(n−1)⋅p, k=⌊h⌋. Nếu h=k thì phân vị =sk; ngược lại phân vị =sk+(h−k)⋅(sk+1−sk).
Tính IQR=Q3−Q1. Áp dụng quy tắc IQR (Tukey's fences) để phát hiện ngoại lai: một giá trị x là ngoại lai nếu x<Q1−1.5⋅IQR hoặc x>Q3+1.5⋅IQR.
Ví dụ: dãy 12,15,14,10,8,22,30,13,11,9 có Q1=10.25, Q3=14.75, IQR=4.5; ngưỡng trên =14.75+6.75=21.5 nên 22 và 30 là ngoại lai.
Dòng 1: số nguyên n (1≤n≤1000). Dòng 2: n số thực cách nhau bởi dấu cách.
Dòng 1: Q1, Q3, IQR (cách nhau 1 khoảng trắng), mỗi số làm tròn 4 chữ số thập phân.
Dòng 2: số lượng giá trị ngoại lai.
Dòng 3: danh sách các giá trị ngoại lai (lấy từ dãy gốc, có thể trùng lặp), sắp xếp tăng dần, mỗi giá trị làm tròn 2 chữ số thập phân, cách nhau bởi dấu phẩy (,) không khoảng trắng; nếu không có ngoại lai thì để dòng trống.
Ví dụ với input:
10
12 15 14 10 8 22 30 13 11 9
Output:
10.2500 14.7500 4.5000
2
22.00,30.00
Ví dụ:
Đầu vào:
10
12 15 14 10 8 22 30 13 11 9
Đầu ra:
10.2500 14.7500 4.5000
2
22.00,30.00
Đầu vào:
1
100
Đầu ra:
100.0000 100.0000 0.0000
0
Đang tải editor...