
AC代码
#include<stdio.h>
#include<math.h>
int check(int n,int k){//判断自守数
int s=n*k*k,c=0,K=k;
while(K!=0){//计算k的位数
K/=10;
c++;
}
if((s-k)%((int)pow(10,c))==0)return 1;//比如题目的25392-92=25300,模100等于0
return 0;
}
int main(){
int m,k,n;
scanf("%d",&m);
for(int i=0;i<m;i++){
scanf("%d",&k);
for(n=1;n<10;n++){
if(check(n,k))break;
}
if(n<10)printf("%d %d\n",n,n*k*k);
else printf("No\n");
}
return 0;
}
C程序实现:寻找满足自守数条件的数字,
该代码实现了一个C程序,用于在给定限制条件下查找自守数。自守数是指一个数乘以其位数之积后,模以特定基数的余数为0。程序通过双重循环遍历并检查数字,找到满足条件的第一个自守数。
228

被折叠的 条评论
为什么被折叠?



