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.
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:
Post a Comment