ProjectEuler Problem-4 Solution

Problem :

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.

Solution :


#include<iostream>
using namespace std;

int palindrome(unsigned int num)
{   unsigned int i,j,div,flag=1,*arr,len,n=num;
 for(i=0,div=1;n>=10;n=n/10,i++,div=div*10);
 len=++i;
 
 arr=new unsigned int[len];
 for(i=0;i<len;i++)
 {
  arr[i]=num/div;
  num=num%div;
  div=div/10;
 }
    for(i=0,j=len-1;i<j;i++,j--)
    {
     if(arr[i]!=arr[j])
     return 0;
    }
 return 1; 
}


int main()
{
 unsigned int num,i,j,max;
 int flag=0;

 for(i=900;i<=999;i++)
 for(j=900;j<=999;j++)
 {
  num=i*j;
  flag=palindrome(num);
   if(flag==1)
   max=num;
 }
 cout<<"Max. palindrome number:"<<max;
 return 0; 
}

No comments: