-1
/*
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.
*/


class Pro4
{
    int palindrome(int x)
    {
        int  n=x,rev=0;
        while(n!=0)
            {
                    rev=rev*10+n%10;
                    n=n/10;
              }
            if(x==rev)
                    return  x;
            else 
                    return 0;
         }
        public static void main(String args[])
        {
                int lar=0,i=0,j=0,x,k=100,l=100;
                Pro4 obj=new Pro4();
                for(i=100;i<=999;i++)
                        for(j=100;j<=999;j++)
                         {
                                x=obj.palindrome(i*j);
                            if(x!=0)
                            {
                                    lar=x;
                                    k=i;
                                    l=j;
                                }
                         }
                System.out.println(lar+","+k+","+l);    

        }
}
Vishal Gajera
  • 4,137
  • 5
  • 28
  • 55
  • 1
    Just start with both values at `999` and iterate downwards; the first palindromic number will be the greatest. – Elliott Frisch Mar 28 '16 at 13:33
  • 1
    What prevents you debugging your own code? – Raedwald Mar 29 '16 at 08:39
  • Possible duplicate of [What is a debugger and how can it help me diagnose problems](http://stackoverflow.com/questions/25385173/what-is-a-debugger-and-how-can-it-help-me-diagnose-problems) – Raedwald Mar 29 '16 at 08:42

1 Answers1

0

please, do following change in your code,

if(x != 0 && x>lar)
{
  lar=x;
  k=i;
  l=j;
}

Output :

906609,913,993

UPDATED :

into your previous code which is only contain x!=0 condition,

906609 palindrome become at i = 913, j = 993, then again next 580085 palindrome appear into double digit range at i = 995, j = 583.

so, once 913,993(which gives 906609) processing answer getting but lake of proper condition it will replace by 995,583(which gives 580085) that's why tou were got 580085.

Vishal Gajera
  • 4,137
  • 5
  • 28
  • 55