求自守数
如果一个整数的平方的后面几个数等于它自身,我们就称之为自守数,如5*5=25;25*25=625;现求1到任意数之间的所有自守数编程如下:#include<stdio.h>
#include<stdlib.h>
main()
{
int a,m,n=0,k,k2=1,i,j=0,b[20]={0};
long k1,k4;
printf("请输入范围(1到?)内:");
scanf("%d",&k);
for(a=1;a<=k;a++)
{
m=a;
while(m!=0)
{
m/=10;
n++;
}
k1=a*a;
for(i=0;i<n;i++)
{
k2=k2*10;
}
k4=k1%k2;
if(k4==a)
{
b[j]=a;
j++;
}
}
printf("1到%d内总共有%d个自守数,它们是:\n",k,j);
for(i=0;i<j;i++)
{
printf("%d",b[i]);
}
system("pause");
}
编译没问题,但运行总是出错!