#include<stdio.h>
#include<math.h>
int IsSquare( int n );
int huiwen(int j);
int main()
{
int n;
while(scanf("%d",&n)!=EOF&&n!=0)
{
if(huiwen(n)==1&&IsSquare(n)==1)
printf("YES\n");
else
printf("NO\n");
}
}
int IsSquare( int n )
{
double j;
j=sqrt(n);
if(j*j==n)
return 1;
else
return 0;
}
int huiwen(int j)
{
int a,p=0;
while(j!=0)
{
a=j%10;
j=j/10;
p=p*10+a;
}
if(p==j)
return 1;
else
return 0;
}
int huiwen(int j)
{
int a, p = 0;
int temp = j;
while (temp != 0)
{
a = temp % 10;
temp = temp / 10;
p = p * 10 + a;
}
if (p == j)
return 1;
else
return 0;
}
修改如下,供参考:
#include<stdio.h>
#include<math.h>
int IsSquare( int n );
int huiwen(int j);
int main()
{
int n;
while(scanf("%d",&n)==1 && n!=0) //修改
{
if(huiwen(n)==1&&IsSquare(n)==1)
printf("YES\n");
else
printf("NO\n");
}
}
int IsSquare( int n )
{
double j;
j=sqrt(n);
if(j*j==n)
return 1;
else
return 0;
}
int huiwen(int j)
{
int a=0,p=j; //修改
while(j!=0)
{
a=a*10+j%10; //修改
j=j/10;
}
if(p==a) //修改
return 1;
else
return 0;
}