以下是c语言282例子的代码
#include <stdio.h>
int main(void)
{
long i,j,k1,k2,k3,a[10]={0},num,m,n,sum;
printf("请输入一个范围:\n");
scanf("%ld",&num);
for(j=0;j<num;j++){
m=j;
n=1;
sum=0;
k1=10;
k2=1;
while(m!=0){//判断位数
a[n]=j%k1;
n++;
k1*=10;
m=m/10;
}
k1=k1/10;
k3=k1;
for (i=1;i<=n-1;i++){
sum+=(a[i]/k2*a[n-1])%k1*k2;//求每个部分之和
k2*=10;
k1/=10;
}
sum=sum%k3;//求后n-1位
if(sum==j) printf("%5ld",sum);
}
printf("\n");
}
以下是我的代码
#include <stdio.h>
int main(void)
{
long int num_a,num_b,num_c;
int count,i;
for(num_a=0;num_a<10000;num_a++){
num_b=num_a*num_a;
count=1;
num_c=num_a;
while(num_c){
count*=10;
num_c/=10;
}
num_b=num_b%count;
if(num_b==num_a) printf("%d\n",num_a);
}
}