Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Bismillahir-Rahmanir-Rahim
- #include <bits/stdc++.h>
- using namespace std;
- #define flash ios_base::sync_with_stdio(0),cin.tie(0)
- #define pb push_back
- #define ll long long
- #define ld long double
- #define dbg(x) cerr << #x << " = " << x << "\n";
- #define ff first
- #define ss second
- /*
- #pragma GCC target ("avx2")
- #pragma GCC optimization ("O3")
- #pragma comment (linker, "/stack:200000000")
- #pragma GCC optimize("Ofast")
- #pragma GCC target ("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
- */
- const long long INF = 1e9 + 7;
- const long long MOD = 1e9 + 7;
- const int maxn = 1e6 + 10;
- ll n;
- void press_F_() {
- cin >> n;
- ll sum = INF, x = 0, szx = INF;
- for (int i = 2; i <= 36; i++) {
- set <int> s;
- ll sz = 0;
- ll nn = n;
- while(nn) {
- s.insert(nn % i);
- sz++;
- nn /= i;
- }
- if (sz + s.size() < sum) {
- sum = sz + s.size();
- x = i;
- szx = sz;
- } else if (sz + s.size() == sum && sz < szx) {
- sum = sz + s.size();
- x = i;
- szx = sz;
- }
- }
- cout << x << " ";
- string ss = "";
- while(n) {
- if (n % x >= 10) {
- ss += char(n % x - 10 + 'A');
- } else {
- ss += to_string(n % x);
- }
- n /= x;
- }
- reverse(ss.begin(), ss.end());
- for (auto to: ss) {
- cout << to;
- }
- cout << '\n';
- }
- int main() {
- flash;
- int T = 1;
- cin >> T;
- for (int i = 1; i <= T; i++) {
- // cout << "Case" << " " << i << ':' << "\n";
- press_F_();
- }
- //Respa gold 2023-2024 InshAllah
- return 0;
- }
- // g++ -std=c++17 main.cpp
- // ./a.out
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement