描述
求出不超过整数N(N<106)的最大的自守数,自守数是指一个数的平方的尾数等于该数自身的自然数,如762=5776.
输入
输入包括多行,每行是一个整数N,
输出
每行输出不超过N的最大的自守数。
样例输入
26
样例输出
25
#include<iostream>
#include<cmath>
using namespace std;
int UnitOfNumber(__int64 n){
int s=0;
while(n){
n/=10;
s++;
}
return s;
}
int main(){
__int64 n;
while(scanf("%I64d",&n)!=EOF){
do
{
if((n*n)%int(pow(10.0,UnitOfNumber(n)))==n){
printf("%I64d\n",n);
break;
}
}while(n--);
}
return 0;
}