已知两数的和和积,求是否存在这两个数

已知a+b=m;a*b=n;   问是否存着这样的a ,b值(m,n已知),,,存在输出Yes,不存在输出No

#include<stdio.h>
#include<math.h>

int F(int m,int n)
{ 
    int i,flag=0;
	if(n>0){
	for(i=n;i>-n;i--)
	{
		if(i*i==(m*i-n))
		{
			flag=1;
			break;
		}
	}
	}

	if(n<0){
	for(i=m;i<-n;i++)
	{
		if(i*i==(m*i-n))
		{
			flag=1;
			break;
		}	
	}
	}
	if(flag)
		printf("Yes\n");
	else
		printf("No\n");
	return  0;
}
int main()
{
    int a,b;
    while(scanf("%d%d",&a,&b)!=EOF){
    if(a==0&&b==0)
        break;
    else
		F(a,b);
	}
    return 0;
}

猜你喜欢

转载自blog.csdn.net/wl20222022/article/details/82765529