自守数
自守数是指一个数的平方的尾数等于该数自身的自然数。
例如: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;
}
运行结果如下: