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

Tìm số thứ N trong hệ số chỉ dùng 3 và 4 trong C++

Giới thiệu

Cho số nguyên N. Tìm số thứ N trong hệ số chỉ chứa chữ số 3 và 4: 3, 4, 33, 34, 43, 44, 333, 334, 343, 344, …

Ví dụ minh họa

Đầu vào

N = 6

Đầu ra

44

Giải thích

Dãy: 3, 4, 33, 34, 43, 44, ...

Phương pháp giải

Hệ số này tương tự nhị phân: 0 ↔ 3, 1 ↔ 4. Số thứ N là biểu diễn nhị phân của (N-1) với 0→3, 1→4.

Chương trình minh họa

#include <iostream>
using namespace std;

void findNthTermNumberSystem(int N) {
    if (N == 1 || N == 2) {
        cout << (N-1) + 3;
        return;
    }
    N -= 1;
    findNthTermNumberSystem(N/2);
    cout << ((N % 2) + 3);
}

int main() {
    int N = 12;
    cout << N << "th term of the number system is ";
    findNthTermNumberSystem(N);
    return 0;
}

Đầu ra

12th term of the number system is 434