#include<stdio.h>
int pd(int n){
int j,a,m,i,count=1;
m=n*n;
int b=n;
do{
n=n/10;
i++;
}while(n!=0);
a=m-b;
for(j=1;j<=i;j++){
if(a%10!=0) return 0;
a=a/10;
}
return 1;
}
int main(void){
int n,i=0,a;
scanf("%d",&n);
for(i=1;i<n;i++){
if(a!=0) printf("%d\n",i);
}
return 0;
}
为什么我这个判断自守数的函数后面打印的时候只能打印出一个1?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- qzjhjxj 2021-12-27 14:19关注
修改见注释处,供参考:
#include<stdio.h> int pd(int n) { int j, a, m, i=0;//修改 count=1 m = n * n; int b = n; do { n = n / 10; i++; } while (n != 0); a = m - b; for (j = 1; j <= i; j++) { if (a % 10 != 0) return 0; a = a / 10; } return 1; } int main(void) { int n, i = 0, a; scanf("%d", &n); for (i = 1; i < n; i++) { a = pd(i); //修改 if (a != 0) printf("%d\n", i); } return 0; }
解决 无用评论 打赏 举报
悬赏问题
- ¥20 关于线性结构的问题:希望能从头到尾完整地帮我改一下,困扰我很久了
- ¥20 设计一个二极管稳压值检测电路
- ¥15 内网办公电脑进行向日葵
- ¥15 如何输入双曲线的参数a然后画出双曲线?我输入处理函数加上后就没有用了,不知道怎么回事去掉后双曲线可以画出来
- ¥50 WPF Lidgren.Network.Core2连接问题
- ¥15 soildworks装配体的尺寸问题
- ¥100 有偿寻云闪付SDK转URL技术
- ¥30 基于信创PC发布的QT应用如何跨用户启动后输入中文
- ¥20 非root手机,如何精准控制手机流量消耗的大小,如20M
- ¥15 远程安装一下vasp