自守数
描述
自守数是指一个数的平方的尾数等于该数自身的自然数。例如:25^2 = 625,76^2 = 5776,9376^2 = 87909376。请求出n(包括n)以内的自守数的个数
数据范围:
1≤n≤10000
输入描述:
int型整数
输出描述:
n以内自守数的数量。
示例1
输入:
6
输出:
4
说明:
有0,1,5,6这四个自守数
示例2
输入:
1
输出:
2
说明:
有0, 1这两个自守数
代码
// 两个数对10取余进行比较,然后再对10取除,循环
#include <stdio.h>
int main() {int n;while(~scanf("%d",&n)){int count=0;for(int i=1;i<=n;i++){int m=i;int square=i*i;while(m>0){if(m%10 != square%10)break;square/=10;m/=10;if(m==0)count++;}}printf("%d\n",count+1);}return 0;
}