tìm giá trị nhỏ nhất thứ k

2 2 0
tìm giá trị nhỏ nhất thứ k

Đang tải... (xem toàn văn)

Thông tin tài liệu

Bài tập Cho dãy số nguyên dương {num} có n phần tử khác nhau từng đôi một và số nguyên k. Hãy tìm ra giá trị nhỏ nhất thứ k .INP Dòng đầu tiên chứa n và k ( 5101  nk ) Dòng tiếp theo là dãy {num} n phần tử cách nhau ( 1 num i 510 ) OUT Dòng duy nhất chứa giá trị nhỏ nhất thứ k INP.

Lưu ý: Tài liệu mang tính chất tham khảo, có trường hợp chưa đắn điều chỉnh, xin cảm ơn Tài liệu tham khảo từ Tài liệu giáo khoa tin Chuyên tin 1(Dỗ Đức Đông-Lê Minh Hoàng-Nguyễn Thanh Tùng) Bài tập: Cho dãy số nguyên dương {num} có n phần tử khác đơi số nguyên k Hãy tìm giá trị nhỏ thứ k .INP: -Dòng chứa n k (  k  n  10 ) -Dòng dãy {num} n phần tử cách (  num i  10 ) OUT: Dòng chứa giá trị nhỏ thứ k .INP OUT 64 10 19 10 223 999 1000 23 223 43435 88 Hướng dẫn tham khảo: Sắp xếp dãy theo giá trị tăng dần, số đứng thứ k dãy giá trị nhỏ thứ k cần tìm Với ví dụ trên, ta xếp dãy 10 19 phần tử thứ k = mang giá trị Chúng ta tham khảo hai thuật toán xếp bọt quick sort (bạn nên tra cứu thơng tin hai thuật tốn để dễ hiểu ) Để hiệu hơn, ta cần xếp đến phần tử thứ k mà khơng cần xếp dãy Thuật tốn bọt: for u:= to k for v:= n downto u+1 if a[v-1] > a[v] then begin t:=a[v]; a[v]:=a[v-1]; a[v-1]:=t; end; Kết quả: write(a[k]); Thuật toán quick sort: Nếu k

Ngày đăng: 11/07/2022, 11:10

Tài liệu cùng người dùng

Tài liệu liên quan