自守数

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

例如:5^2=25        25^2=625      76^2=5776      9376^2=87909376

求100000以内的自守数。

通过规律我们以可得出个位数的平方只需对10求余则可判断是否为自守数,十位数则对100求余,百位数则对1000求余,以此类推便可得到对应数相应的结果。

#include<iostream>
using namespace std;
int main()
{
int a,b,c,d,m;

for(long long num=0;num<100000;num++)
{
if(num>=0&&num<=10)
{
a=(num*num)%10;
if(a==num)
{
cout<<num<<"\t";
}
}
else if(num>10&&num<=100)
{
b=(num*num)%100;
if(b==num)
{
cout<<num<<"\t";
}
}
else if(num>100&&num<=1000)
{
c=(num*num)%1000;
if(c==num)
{
cout<<num<<"\t";
}
}
else if(num>1000&&num<=10000)
{
d=(num*num)%10000;
if(d==num)
{
cout<<num<<"\t";
}
}
else if(num>10000&&num<=100000)
{
m=(num*num)%100000;
if(m==num)
{
cout<<num<<"\t";
}
}
}
return 0;
}

 运行结果如下:

 

posted @ 2023-05-10 20:02  为20岁努力  阅读(230)  评论(0编辑  收藏  举报