在C ++中删除所有奇数后,找到范围[1,n]中的第k个最小数
在这个问题中,我们得到两个整数值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
第四小的元素是8。
解决方法:
解决方案很简单,因为我们需要从偶数到n处找到第k个元素。使用公式可以很容易地计算出
元素=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<<"kth smallest number cannot be found";
return 0;
}输出结果第k个最小数字是 24