题目描述
自守数是指一个数的平方的尾数等于该数自身的自然数。
例如:
25^2=625
76^2=5776
9376^2=87909376
请求出200000以内的自守数?
样例输出
0 1 5 6 25 76 376 625 9376 90625 109376
代码如下,这是自认为最容易理解的方法,如果有更简单的方法请不吝赐教:
#include<stdio.h> #include<math.h> int main(){ long long s; int i,ii; for(i=0;i<200000;i++) { ii=i; int len=1; s=pow(i,2); while(ii>=10) { ii/=10; len++; } if(s%(int)pow(10,len)==i) { printf("%d ",i); } } return 0;