回文数

回文数:

打印所有不超过n(取n<256)的其平方具有对称性质的数(也称回文数)。

 

解题思路:

利用for循环遍历1~255,将n的平方的每一位数储存在数组之中,然后算出其数值,判断该数的平方与利用数组和循环算出的数值是否相等,若相等则输出。

代码:

#include<iostream>

#include<iomanip>

using namespace std;

int main()

{

    int a[20],n,x,i,t,count=1,k;

    cout<<"No    number        it's square"<<endl;

    for(n=1;n<256;n++)

    {

        k=0;

        x=n*n;

        t=1;

        for(i=0;x!=0;i++)

        {

            a[i]=x%10;

            x/=10;

        }

        for(;i>0;i--)

        {

            k+=a[i-1]*t;

            t*=10;

        }

        if(k==(n*n))

            cout<<setw(2)<<count++<<setw(8)<<n<<setw(15)<<n*n<<endl;

    }

    return 0;

}

 

posted @ 2023-04-26 15:58  不如喝点  阅读(124)  评论(0编辑  收藏  举报