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

Số thứ N chỉ chứa chữ số {0,1,2,3,4,5} C++

Dãy số chỉ dùng chữ số 0-5: 0, 1, 2, 3, 4, 5, 10, 11, 12, 13, 14, 15, 20, 21...

Đây chính là hệ cơ số 6 (base-6) nhưng ghi bằng chữ số thập phân.

Thuật toán

  • Chuyển N-1 sang cơ số 6.
  • Kết quả là biểu diễn base-6 của N-1.

Triển khai C++

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

int nthNumberBase6(int n) {
    // n-th number (1-indexed) -> (n-1) in base 6
    n--;
    if (n == 0) return 0;
    string s;
    while (n) {
        s.push_back('0' + n % 6);
        n /= 6;
    }
    reverse(s.begin(), s.end());
    return stoi(s);
}

int main() {
    cout << nthNumberBase6(7) << endl; // 10
    return 0;
}

Kết quả

10