#include <iostream>
using namespace std;
bool is_zss(int n)//判断是否为自受术
{
int nr=n*n,a=0,n_copy=n;//拷贝一份
//首先判断n是几位数,用a表示
do
{n_copy=n_copy/10;
a++;}
while(n_copy);
int t=0;
for (int i=0;i<a;i++)
{
if (n%10==nr%10)
t++;
n=n/10;
nr=nr/10;
}
if (t==a)
return 1;
else
return 0;
}
int main ()
{
int n;
while(cin>>n)
{int num=0;
for (int i=0;i<=n;i++)//o 和1也是自受术啊。
{
if(is_zss(i))
num++;
}
cout<<num<<endl;}
}


京公网安备 11010502036488号