在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