求自守数调试后出现调试结果与自测结果不同的问题

题目:

自守数是指一个数的平方的尾数等于该数自身的自然数。例如:25^2 = 625,76^2 = 5776,9376^2 = 87909376。请求出n以内的自守数的个数

我写的程序:
#include "stdio.h"
int main(void){
int num,i,js=0,cnt=0,tol,ys;
while(scanf("%d",&num)==1){
for(i=0;i<=num;i++){
js=i*i;
tol=10;
//思路是平方数减自守数能被自然数的10的位数+1方整除,我们需要得到这个数
while((i/tol)>=1){
tol=tol*10;
}
ys=(js-i)%tol;
if(ys==0){
cnt++;
//printf("%d\n",i);
}
}
printf("%d\n",cnt);
}
return 0;
}

保存调试结果
出错用例自测结果:

#华为暑期实习#
全部评论
自己根据已通过的答案调试一下,发现如果把变量cnt的定义放在传入参数的while循环内就不会有此问题
点赞
送花
回复
分享
发布于 2020-07-09 14:16

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务