//输出1~100000中的自守数
//例:25*25=625
//25的平方的后两位等于这个数
//若是三位数的平方这是后三位
#include <stdio.h>
#include <math.h>
int main()
{
double p;//p为n的平方
long n,a,b;//a为n的位数
double s;
for(n=1;n<=10e5;n++)
{
p=n*n;
a=1;
b=n;
do
{
b=b/10;
a++;
}while(b!=0);
s=pow(10,a);
p=(int)p%(int)s;
if(p==n)
printf("%d\n",n);
}
}
求1~100000自守数
于 2023-11-19 18:39:26 首次发布