Cho n, k. Nhiệm vụ: tìm số nhỏ thứ k trong đoạn [1, n] sau khi loại bỏ tất cả số lẻ.
Chỉ còn các số chẵn: 2, 4, 6...
Ví dụ:
Đầu vào: n = 12, k = 4
Đầu ra: 8
Giải thích:
Số chẵn trong [1, 12]: 2, 4, 6, 8, 10, 12. Số thứ 4 là 8.
Phương pháp:
Số thứ k trong dãy số chẵn = 2*k. Kiểm tra 2*k <= n.
Chương trình minh họa
Ví dụ
#include <bits/stdc++.h>
using namespace std;
int main() {
int n = 124, k = 12;
if (n > 2 * k) {
cout << "kth smallest number is " << (2 * k);
} else {
cout << "kth smallest number cannot be found";
}
return 0;
}
Kết quả
kth smallest number is 24