Загрузка...

Solve a simple problem number 23, who can? C++

Thread in C/C++ created by ASAPRockyFun Jun 5, 2022. 244 views

  1. ASAPRockyFun
    ASAPRockyFun Topic starter Jun 5, 2022 0 Apr 24, 2022
    Башка уже не варит[IMG]
     
  2. acetek
    acetek Jun 13, 2022 0 Jul 10, 2018
    C
    #include <bits/stdc++.h>

    using namespace std;

    //#define int long long
    #define here cout << "here" << endl;
    //для больших чисел в массиве можно снять комментарий выше и изменить переменные в 13 и 14 строках

    void solve() {
    int n;
    cin >> n;
    vector <int> arr(n);
    vector <string> res(n);
    int max_st_3 = 20;
    int max_st_6 = 10;
    for (int i = 0; i < n; i++) cin >> arr[i];
    vector <int> st_6(max_st_6, 1);
    vector <int> st_3(max_st_3, 1);
    for (int i = 1; i < max_st_6; i++) st_6[i] = st_6[i - 1] * 6;
    for (int i = 1; i < max_st_3; i++) st_3[i] = st_3[i - 1] * 3;
    for (int i = 0; i < n; i++) {
    int tmp = arr[i];
    int ans = 0; //число в десятичной системе счисления
    int st = 0;
    while (tmp > 0) {
    ans += st_3[st] * (tmp % 10);
    tmp /= 10;
    st++;
    }
    st = max_st_6 - 1;
    bool flag = false;
    while (st >= 0) {
    int tmp_1 = 0;
    while (ans >= st_6[st]) {
    tmp_1++;
    ans -= st_6[st];
    }
    if (tmp_1 != 0) {
    flag = true;
    res[i] += (char)(tmp_1 + '0');
    } else {
    if (flag) res[i] += (char)(tmp_1 + '0');
    }
    st--;
    }
    }
    for (const auto& i : res) cout << i << '\n';
    }

    int32_t main() {
    ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr);
    int tt = 1;
    //cin >> tt;
    while(tt--) {
    solve();
    }
    return 0;
    }
     
  3. nnslayer
    nnslayer Jun 13, 2022 Он сказал: "Какие гарантии?" — я ответил: "Клянусь" 384 May 21, 2022
    Она же простая, я уже решил
     
Top
Loading...