回文数在两个方向上都相同。由两个两位数的乘积构成的最大回文数为9009 = 91×99。
查找由两个3位数字的乘积组成的最大回文
#include
#include
using namespace std;
int ishuiwen(int num)
{
int s,y=0;
s=num;
while(s>0){
y=y*10+s%10;
s=s/10;
}
if(y==num)
{
return 1;
}
else
{
return 0;
}
}
void main()
{
int a,b,n,sum=0;
int i=0,j=0;
int c[2470];
for(a=100;a<1000;a++)
for(b=100;b<1000;b++)
{
n=a*b;
if(ishuiwen(n))
{
//sum+=1;
//cout<<n<<endl;
c[i++]=n;
}
}
cout<<(*max_element(c, c + 2470)) << endl;
//cout<<sum<<endl;
}