Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <string>
- #include <math.h>
- #include <cmath>
- #include <algorithm>
- using std ::cin;
- using std ::cout;
- using std ::string;
- int perevod (char cc) {
- if (cc - '0' <= 9) {
- return cc - '0';
- } else {
- return cc - '0' - 7;
- }
- }
- bool podh (std ::string aa, std ::string bb, std ::string cc, int pp) {
- long long fir = 0;
- for (int ii = aa.size() - 1; ii >= 0; --ii) {
- fir += perevod(aa[ii]) * pow(pp, aa.size() - 1 - ii);
- }
- long long sec = 0;
- for (int ii = bb.size() - 1; ii >= 0; --ii) {
- sec += perevod(bb[ii]) * pow(pp, bb.size() - 1 - ii);
- }
- long long thrd = 0;
- for (int ii = cc.size() - 1; ii >= 0; --ii) {
- thrd += perevod(cc[ii]) * pow(pp, cc.size() - 1 - ii);
- }
- if (fir + sec == thrd) {
- return 1;
- } else {
- return 0;
- }
- }
- int main() {
- std ::string ss, aa = "", bb = "", cc = "";
- std ::cin >> ss;
- int minn = -1;
- int pos = 1;
- for (int ii = 0; ii < ss.size(); ++ii) {
- if (ss[ii] != '+' && ss[ii] != '=') {
- if (perevod(ss[ii]) > minn) {
- minn = perevod(ss[ii]);
- }
- if (pos == 1) {
- aa += ss[ii];
- } else if (pos == 2) {
- bb += ss[ii];
- } else {
- cc += ss[ii];
- }
- } else {
- ++pos;
- }
- }
- ++minn;
- for (int ii = minn; ii <= 36; ++ii) {
- if (podh(aa, bb, cc, ii)) {
- cout << ii;
- return 0;
- }
- }
- std ::cout << -1;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement