#include<iostream>
//自守数
#include<cstring>
#include<cstdlib>
using namespace std;
int tot;//0 1都是
char s1[2020];
char s2[4000000];
int f(int n)
{
if(n==0) return 1;
int s=n*n;
sprintf(s1,"%d",n);//用sprintf(s1,"%d",n);把int n“打印”到char s1[2020]中;
sprintf(s2,"%d",s);
if(!strchr(s1,'0'))
{
char *p=strstr(s2,s1);
if(p!=NULL) return 1;
}
return 0;
}
int main()
{
int n;
while(cin>>n)
{
tot=0;
for(int i=0;i<n;i++)
{
if(f(i))
{
tot++;
}
}
cout<<tot<<endl;
}
return 0;
}
sprintf
最新推荐文章于 2021-03-06 23:13:30 发布