zoukankan      html  css  js  c++  java
  • 1010

    #include <iostream>
    #include <cctype>
    #include <algorithm>
    #include <cmath>
    using namespace std;
    long long convert(string n, long long radix) {
        long long sum = 0;
        int index = 0, temp = 0;
        for (auto it = n.rbegin(); it != n.rend(); it++) {
            temp = isdigit(*it) ? *it - '0' : *it - 'a' + 10;// - 'a' + 10 transform letter to 10radix number;-'0' transform string to number;(a-z represent the decimal numbers 10-35.)
            sum += temp * pow(radix, index++);
        }
        return sum;
    }
    long long find_radix(string n, long long num) {
        char it = *max_element(n.begin(), n.end());
        long long low = (isdigit(it) ? it - '0' : it - 'a' + 10) + 1;
        long long high = max(num, low);
        while (low <= high) {
            long long mid = (low + high) / 2;
            long long t = convert(n, mid);
            if (t < 0 || t > num) //if t is negative number,that mean t out of long long boundary.
                high = mid - 1;
            else if (t == num) return mid;
            else low = mid + 1;
        }
        return -1;
    }
    int main() {
        string n1, n2;
        long long tag = 0, radix = 0, result_radix;
        cin >> n1 >> n2 >> tag >> radix;
        result_radix = tag == 1 ? find_radix(n2, convert(n1, radix)) : find_radix(n1, convert(n2, radix));
        if (result_radix != -1) {
            printf("%lld", result_radix);
        }
        else {
            printf("Impossible");
        }
        return 0;
    }
  • 相关阅读:
    深度学习100问
    BAT机器学习面试1000题系列
    深度学习项目——基于卷积神经网络(CNN)的人脸在线识别系统
    深入理解卷积层
    AI大道理头尾标识
    git-svn Manual Page
    收藏夹
    C语言 #、##、#@在#define中的用法
    ubuntu 编译安装自己的git-svn
    ALSA参考文档
  • 原文地址:https://www.cnblogs.com/masayoshi/p/10848297.html
Copyright © 2011-2022 走看看