一、知识点
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;
}