每日打卡
自守数
问题描述:一个数的平方末尾还是这个数本身的数角自守数,求100000以内的自守数
问题分析:最后一位数一样的只有5,6,0
代码:#include<stdio.h>
int main()
{
long mul,number,k,a,b;
printf("存在自守数小于100000:\n");
for(number=1;number<100000;number++)
{
for(mul=number,k=1;(mul/=10)>0;k*=10);
a=k*10;
mul=0;
b=10;
while(k>0)
{
mul=(mul+(number%(k*10))*(number%b-number%(b/)))%a;
k/=10;
b*=10;
}
if(number==mul)
printf("%ld",number);
}

浙公网安备 33010602011771号