#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int n,m;
while(cin>>n>>m,m||n)
{
if(n*n-4*m>=0&&(int)sqrt(n*n-4*m)==sqrt(n*n-4*m))
cout<<"Yes"<<endl;
else
cout<<"No"<<endl;
}
}
tips:没想到用解方程的方法求解。
而且(int)sqrt(n*n-4*m)==sqrt(n*n-4*m)这步也很巧妙,解决了解可能是小数的问题。