Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

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<<"kth smallest number is "<<(2 * k);  
   }
   else
      cout<<"kth smallest number cannot be found";
   return 0;
}

출력

kth smallest number is 24