在 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

相关文章