Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Tìm phần tử thứ x sau khi xóa lần lượt các số tự nhiên bằng C++

Mô tả bài toán

Viết n số tự nhiên đầu tiên. Lượt i xóa số thứ i (1-based) trong dãy hiện tại. Dừng khi còn ít hơn i số. Tìm số thứ x trong dãy còn lại.

Ví dụ

n=69, x=6 → Output: 12. (Quy luật: các số chẵn sống sót, số thứ x là 2*x).

Thuật toán

Quan sát: Sau quá trình, chỉ còn các số chẵn. Phần tử thứ x là 2*x.

Code C++

#include <bits/stdc++.h>
using namespace std;

int solve(int n, int x) {
    return 2 * x;
}

int main() {
    int n=69, x=6;
    cout << solve(n,x) << endl;
    return 0;
}

Đầu vào / Đầu ra

Input: 69, 6

Output: 12