题解 | #自守数#
自守数
https://www.nowcoder.com/practice/88ddd31618f04514ae3a689e83f3ab8e
#include <math.h>
#include <stdio.h>
int zishou(int n){
int a, i = 1;
a = pow(n, 2);
while (n/pow(10,i) > 1) {
i++;
}
int j = pow(10, i);
if ( a%j == n ) {
return 1;
}
else {
return 0;
}
}
int main() {
int n,num = 0;
scanf("%d",&n);
for (int i =0; i<=n; i++) {
num += zishou(i);
}
printf("%d",num);
return 0;
}