判断自守数
题目:
输出2000000以内的自守数,自守数:一个数的平方的尾数等于该数自身的自然数 eg:76*76=5776.
代码:
#include <stdio.h>
int main()
{
int w=0;
long i,k,kk,n,m;
printf("请输出200000以内的自守数:\n");
for(n=0;n<2000000;n++)
{
for(m=n,k=1;(m/=10)>0;k*=10);
kk=k*10;
m=0;
i=10;
while(k>0)
{
m=(m+(n%(k*10))*(n%i-n%(i/10)))%kk;
k/=10;
i*=10;
}
if(n==m)
{
w++;
printf("%8ld",n);
if(w%5==0)
{
printf("\n");
}
}
}
return 0;
}