Ques:
A palindromic number reads the same both ways. The largest palindrome
made from the product of two 2-digit numbers is 9009 = 91 × 99.
Find the largest palindrome made from the product of two 3-digit numbers.
Ans:
This can be achieved in 2 differnet ways..
Ist: Declare as wrapper class integer
Convert to String
Use tochar to seperate the digits
Read them backwards
convert back to Int and get answer
I have used basics of math to arrive at solution.
Extract the digits using maths fundamentals
store them in variables.
re-arrange them using Maths fundamentals.
AND YOU HAVE THE ANSWER.
==========================
Package palindrome;
public class Palindrome {
public static void main(String[] args) {
int mult = 906609;
for (int i = 100; i < 1000; i++) {
for (int j = 100; j < 1000; j++) {
mult = i * j;
if (mult - placeholdervalue(mult) == 0) {
System.out.println("Original number=" + mult + " and its palindrome=" + placeholdervalue(mult));
System.out.println("i=" + i + "j=" + j);
}
}
}
}
public static int placeholdervalue(int num) {
int var0 = 0, var, var1, var2, var3, var4, var5, var6;
var = num / 10000;
if (var >= 10) {
var0 = num / 100000;
var = (num - var0 * 100000) / 10000;
}
var1 = (num - var * 10000 - var0 * 100000) / 1000;
var2 = (num - var * 10000 - var0 * 100000 - var1 * 1000) / 100;
var3 = (num - var * 10000 - var0 * 100000 - var1 * 1000 - var2 * 100) / 10;
var4 = (num - var * 10000 - var0 * 100000 - var1 * 1000 - var2 * 100 - var3 * 10);
var5 = var4 * (var0 > 0 ? 100000 : 10000);
var5 = var5 + var3 * (var0 > 0 ? 10000 : 1000);
var5 = var5 + var2 * (var0 > 0 ? 1000 : 100);
var5 = var5 + var1 * (var0 > 0 ? 100 : 10);
var5 = var5 + var * (var0 > 0 ? 10 : 1);
var5 = var5 + var0;
return var5;
}
Find the largest palindrome made from the product of two 3-digit numbers.
Ans:
This can be achieved in 2 differnet ways..
Ist: Declare as wrapper class integer
Convert to String
Use tochar to seperate the digits
Read them backwards
convert back to Int and get answer
I have used basics of math to arrive at solution.
Extract the digits using maths fundamentals
store them in variables.
re-arrange them using Maths fundamentals.
AND YOU HAVE THE ANSWER.
==========================
Package palindrome;
public class Palindrome {
public static void main(String[] args) {
int mult = 906609;
for (int i = 100; i < 1000; i++) {
for (int j = 100; j < 1000; j++) {
mult = i * j;
if (mult - placeholdervalue(mult) == 0) {
System.out.println("Original number=" + mult + " and its palindrome=" + placeholdervalue(mult));
System.out.println("i=" + i + "j=" + j);
}
}
}
}
public static int placeholdervalue(int num) {
int var0 = 0, var, var1, var2, var3, var4, var5, var6;
var = num / 10000;
if (var >= 10) {
var0 = num / 100000;
var = (num - var0 * 100000) / 10000;
}
var1 = (num - var * 10000 - var0 * 100000) / 1000;
var2 = (num - var * 10000 - var0 * 100000 - var1 * 1000) / 100;
var3 = (num - var * 10000 - var0 * 100000 - var1 * 1000 - var2 * 100) / 10;
var4 = (num - var * 10000 - var0 * 100000 - var1 * 1000 - var2 * 100 - var3 * 10);
var5 = var4 * (var0 > 0 ? 100000 : 10000);
var5 = var5 + var3 * (var0 > 0 ? 10000 : 1000);
var5 = var5 + var2 * (var0 > 0 ? 1000 : 100);
var5 = var5 + var1 * (var0 > 0 ? 100 : 10);
var5 = var5 + var * (var0 > 0 ? 10 : 1);
var5 = var5 + var0;
return var5;
}