在 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
第 4 個最小的元素是 8。
解決方案方法:
解決方案很簡單,因為我們需要找到從 n 之前的偶數中第 k 個元素。這可以使用以下公式輕鬆計算,
元素 = 2*k。
程式說明我們解決方案的工作原理,
示例
#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;
}輸出
kth smallest number is 24
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP