1010.Radix (25) 溢出
2018-02-16 19:15
281 查看
#include <iostream> #include <vector> #include <algorithm> using namespace std; string n1, n2; long long get_num(char &c){ if(isdigit(c)) return c - '0'; else return c - 'a' + 10; } long long get_n(long long &r, string &n){ long long s = 0; for (int i = 0; i < n.size(); i++) { s = s * r + get_num(n[i]); } return s; } int main(){ long long tag, radix; cin >> n1 >> n2 >> tag >> radix; if(tag == 2) swap(n1, n2); long long num1 = get_n(radix, n1); long long left = 2, right = num1 + 1; for (int i = 0; i < n2.size(); i++) { left = max(left, get_num(n2[i])+1); } while (left <= right) { long long mid = (left + right) / 2; long long num2 = get_n(mid, n2); if(num2 > num1 || num2 < 0){ right = mid - 1; }else if(num1 == num2){ cout << mid << endl; return 0; }else{ left = mid + 1; } } cout << "Impossible\n"; return 0; }
相关文章推荐
- 1010. Radix (25)
- 1010. Radix (25)
- PAT (Advanced Level) Practise 1010. Radix (25) C++
- PAT甲级-1010. Radix (25)进制
- 1010. Radix (25)
- 1010. Radix (25)
- 1010. Radix (25)
- PAT 1010. Radix (25)(进制转化)(暂无)
- 1010. Radix (25)
- PAT_A 1010. Radix (25)
- 1010. Radix (25)
- 【PAT】1010. Radix (25)
- PAT (Advanced Level) Practise 1010. Radix (25)
- PAT甲级 1010.Radix(25) 题目翻译与答案
- pat甲级1010. Radix (25)
- PAT 1010 Radix (25)没有通过
- PAT 1010. Radix (25)
- PAT 甲级 1010. Radix (25)
- PAT 1010. Radix (25)
- PAT A 1010. Radix (25)