回文判断

 

寻找并输出11~999之间的数m,它满足m、m2和m3均为回文数。

l  回文:各位数字左右对称的整数。

l  例如:11满足上述条件

n  112=121,113=1331。

#include<iostream>
using namespace std;

int circle(int x)
{
    int i, j, a[10], b[10];
    i = 0;
    while(x%10!=0)
    {
        a[i] = x % 10;
        x = x / 10;
        i++;
    }
    for (j = 0;j < i;j++)
    {
        b[j] = a[i-j-1];
    }
    for (j = 0;j < i;j++)
        if (b[j] != a[j])
            return -1;
    return 0;
}

int main()
{
    int n;
    for (n = 11;n < 1000;n++)
        if (circle(n) == 0 && circle(n*n) == 0 && circle(n*n*n) == 0)
            cout << n << ' ' << endl;
    return 0;
}

 

posted @ 2017-11-23 14:44  暮雨青枫  阅读(168)  评论(0编辑  收藏  举报