自守数

自守数:

自守数是指一个数的平方的尾数等于该数自身的自然数。

例如:5²=25   25²=625   76²=5776   9376²=87909376

求10000以内的自守数。

解题思路:for循环遍历1~10000,内层for循环求出number的位数,给y赋值number的平方取余10的number位数的平方,条件判断y与number是否相等,相等则输出

代码:

#include<iostream>

using namespace std;

int main()

{

    int number,x,p,q,y;

    cout<<"It exists following auyomorphic numbers samll than 10000:"<<endl;

    for(number=0;number<100000;number++)

    {

        for(x=number,p=1;x!=0;)

        {

            x/=10;

            p*=10;

        }

        y=(number*number)%p;

        if(y==number)

            cout<<number<<"  ";

    }

    return 0;

}

 

posted @ 2023-04-25 17:43  不如喝点  阅读(177)  评论(0编辑  收藏  举报