public class MyClass {
static int LargestNum1 = 0, LargestNum2 = 0;
private static boolean isPalindrome(int num) {
int temp = num;
int rev = 0;
while (temp > 0) {
rev = rev * 10 + (temp % 10);
temp /= 10;
}
return rev == num;
}
private static int getLargestPalindromeOfTwo2digitNumbers() {
int largestPalindrome = -1;
for (int num1 = 10; num1 < 100; num1++) { // 10 to 99
int product = 9 * num1;
for (int num2 = 10; num2 < 100; num2++) { // 10 to 99
product += num1;
if (product > largestPalindrome && isPalindrome(product) != false) {
LargestNum1 = num1;
LargestNum2 = num2;
largestPalindrome = product;
}
}
}
return largestPalindrome;
}
public static void main(String args[]) {
int result = getLargestPalindromeOfTwo2digitNumbers();
System.out.print(LargestNum1 + " x " + LargestNum2 + " = " + result);
}
}
/*
run:
91 x 99 = 9009
*/