这道题为简单题
n + m = x
n * m = yn(x-n) = y
-n^2 + nx -y = 0
deta = x^2 - 4( -1 * (-y)) // 大于等于0时有解
deta = x^2 -4y
所以只要运用公式即可得出结果。注意结果“Yes”“No”只有第一个字母大写,后面小写。我就是都写成了大写,然后一直通不过,花了冤枉时间。我的AC代码如下。
#include <iostream>
#include<math.h>
using namespace std;
int main(void)
{
int n,m;
int temp;
double temp1;
while(cin>>n>>m)
{
if(n==0&&m==0)break;
temp=n*n-4*m;//使用判别公式b的平方减去4ac
if(temp<0)
{
cout<<"No"<<endl;
}
else
{
temp1=sqrt((double)temp);
if((int)temp1!=temp1)
cout<<"No"<<endl;
else
cout<<"Yes"<<endl;
}
}
return 0;
}