这是采用算后在判断的方法,要熟悉并熟练运用
#include<stdio.h>
#include<math.h>
int main()
{
int m,n,i,a,b;
while(scanf("%d%d",&m,&n)==2 && (m||n))
{
a=(int)((m-sqrt(m*m-4*n))/2.0);
b=(int)((m+sqrt(m*m-4*n))/2.0);
if(a+b==m && a*b==n)
printf("Yes\n");
else
printf("No\n");
}
return 0;
}