一、知识点
break只会结束最里面的一层循环
int型数按位比较的时候,可以直接求余比较,无需转换为char型数组后再按下标比较
二、题目
1、描述
自守数是指一个数的平方的尾数等于该数自身的自然数。例如:25^2 = 625,76^2 = 5776,9376^2 = 87909376。请求出n(包括n)以内的自守数的个数
2、数据范围
1<= n <=10000
3、输入
int型整数
4、输出
n以内自守数的数量
三、自己写的代码
#include<stdio.h>
int main() {
int n, i, j, square, count = 0;
scanf("%d", &n);
for (i = 0; i <= n; i++) {
j = i;
square = i * i;
while (j > 0) {
if (j % 10 != square % 10) {
break;
}
j = j / 10;
square = square / 10;
}
if (j == 0) {
count++;
}
}
printf("%d\n", count);
return 0;
}