在 C++ 中,当所有奇数都被删除时,在范围 [1, n] 中查找第 k 个最小数
c++server side programmingprogramming
在此问题中,我们给出了两个整数值 n 和 k。我们的任务是当所有奇数都被删除时,在范围 [1, n] 中查找第 k 个最小数。
我们需要在范围 [1, n] 中找到仅包含偶数的第 k 个最小数。
因此,从范围 [1, 5] ->数字将是 2、4。
让我们举一个例子来理解这个问题,
输入: n = 12,k = 4
输出: 8
解释:
范围 [1, n] 中的偶数元素:2、4、6、8、10、12
第 4 个最小元素是 8。
解决方法:
解决方案很简单,因为我们需要从偶数中找到第 k 个元素,直到 n。这可以使用公式轻松计算,
Element = 2*k。
程序用于说明我们的解决方案的工作原理,
示例
#include <bits/stdc++.h> using namespace std; int main() { int n = 124, k = 12; if(n > 2*k){ cout<<"第 k 个最小的数字是"<<(2 * k); } else cout<<"找不到第 k 个最小的数字"; return 0; }
输出
第 k 个最小的数字是 24