完全平方回文数
题目描述
一个数如果是另一个整数的完全平方,那么我们就称这个数为完全平方数,也叫平方数。例如:16,36,121 等。
一个数的各位数码如果是左右对称的,那么它就被称作回文数,例如:1221, 12344321, 5665 等。
你的任务是判断一个数是否同时满足上述两个条件,如果满足则输出"Yes", 否则输出"No"。
输入
一个非负整数n,代表待验证的数。
输出
判断 n 是否同时满足上述两个条件,如果满足则输出"Yes", 否则输出"No"。占一行
请注意输出字母的大小写!!!
输入样例1
121
输出样例1
Yes
输入样例2
625
输出样例2
No
CODE
#includeusing namespace std;long long n,s;bool p(long long x){int b[20],wei=0;while(x){b[++wei]=x%10;x/=10;}for(int i=1;i<=wei/2;i++) if(b[i]!=b[wei-i+1]) return false;return true;}int main(){cin>>n;s=sqrt(n);if(s*s!=n||!p(n)){cout<<"No";return 0;}cout<<"Yes";return 0;}