/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static void main
(String[] args
) { solve(419, 792);
System.
out.
println("Time needed to calculate: "+(System.
nanoTime()-beg
)/1000000.0 + "ms"); }
public static void solve(int a, int b) {
int[] aDigits = new int[3];
int[] bDigits = new int[3];
for (int i = 0; i < 3; i++) {
aDigits
[2 - i
] = (a
/ (int) Math.
pow(10, i
)) % 10; bDigits
[2 - i
] = (b
/ (int) Math.
pow(10, i
)) % 10; }
for (int x = 10; x <= 15000; x++) {
int numBaseX = digitsToBase10(aDigits, x);
int y = 10;
while (y <= 15000) {
int numBaseY = digitsToBase10(bDigits, y);
if (numBaseX == numBaseY) {
System.
out.
println("Base X: " + x
+ " Base Y: " + y
); return;
} else if (numBaseY > numBaseX) {
break;
} else {
y++;
}
}
}
System.
out.
println("Nothing found"); }
public static int digitsToBase10(int[] digits, int b) {
int res = 0;
for (int i = 0; i < digits.length; i++) {
res
+= digits
[i
] * (int) Math.
pow(b, digits.
length - 1 - i
); }
return res;
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKICAgICAgICBsb25nIGJlZyA9IFN5c3RlbS5uYW5vVGltZSgpOwogICAgICAgIHNvbHZlKDQxOSwgNzkyKTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlRpbWUgbmVlZGVkIHRvIGNhbGN1bGF0ZTogIisoU3lzdGVtLm5hbm9UaW1lKCktYmVnKS8xMDAwMDAwLjAgKyAibXMiKTsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgc29sdmUoaW50IGEsIGludCBiKSB7CiAgICAgICAgaW50W10gYURpZ2l0cyA9IG5ldyBpbnRbM107CiAgICAgICAgaW50W10gYkRpZ2l0cyA9IG5ldyBpbnRbM107CiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCAzOyBpKyspIHsKICAgICAgICAgICAgYURpZ2l0c1syIC0gaV0gPSAoYSAvIChpbnQpIE1hdGgucG93KDEwLCBpKSkgJSAxMDsKICAgICAgICAgICAgYkRpZ2l0c1syIC0gaV0gPSAoYiAvIChpbnQpIE1hdGgucG93KDEwLCBpKSkgJSAxMDsKICAgICAgICB9CiAgICAgICAgZm9yIChpbnQgeCA9IDEwOyB4IDw9IDE1MDAwOyB4KyspIHsKICAgICAgICAgICAgaW50IG51bUJhc2VYID0gZGlnaXRzVG9CYXNlMTAoYURpZ2l0cywgeCk7CiAgICAgICAgICAgIGludCB5ID0gMTA7CiAgICAgICAgICAgIHdoaWxlICh5IDw9IDE1MDAwKSB7CiAgICAgICAgICAgICAgICBpbnQgbnVtQmFzZVkgPSBkaWdpdHNUb0Jhc2UxMChiRGlnaXRzLCB5KTsKICAgICAgICAgICAgICAgIGlmIChudW1CYXNlWCA9PSBudW1CYXNlWSkgewogICAgICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiQmFzZSBYOiAiICsgeCArICIgQmFzZSBZOiAiICsgeSk7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgfSBlbHNlIGlmIChudW1CYXNlWSA+IG51bUJhc2VYKSB7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIHkrKzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIk5vdGhpbmcgZm91bmQiKTsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGludCBkaWdpdHNUb0Jhc2UxMChpbnRbXSBkaWdpdHMsIGludCBiKSB7CiAgICAgICAgaW50IHJlcyA9IDA7CiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBkaWdpdHMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgcmVzICs9IGRpZ2l0c1tpXSAqIChpbnQpIE1hdGgucG93KGIsIGRpZ2l0cy5sZW5ndGggLSAxIC0gaSk7CiAgICAgICAgfQogICAgICAgIHJldHVybiByZXM7CiAgICB9Cn0=