//1. 寻找并输出11~999之间的数m,它满足m、m^2和m^3均为回文数。
#include <iostream>
using namespace std;
int ispalindrome(int i) //判断i是否为回文数
{
int n = 0;
int k = i;
int flag = 1;
while (k)
{
k /= 10;
n++;
}
int* a = new int[n];
for (int j = n; j >= 0; j--)
{
a[j] = i % 10;
i /= 10;
}
for (int j = 0; j <= n; j++)
{
if (a[j] != a[n - j])
{
flag = 0;
break;
}
}
return flag;
}
int main()
{
int i = 11;
for (int i = 11; i <= 99; i++)
{
if (ispalindrome(i))
{
if (ispalindrome(i * i))
{
if (ispalindrome(i * i * i))
{
cout << i << endl;
}
}
}
}
return 0;
}