杭电 2092 整数解

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2092

解题思路:网上百度了一元二次方程有整数解的情况的时候,根与系数的关系,发现还是用求根公式直接判断比较方便,另外还可以遍历来做,就是用一个二重循环,枚举i,j的值,看是不是满足 i+j=n,i*j=m

反思:读题目一定要仔细,输入的m,n都是整数

#include<stdio.h>
#include<math.h>
int panduan(double m)
{
    if((long int)m==m)
        return 1;
    else
        return 0;

    
}

int main()
{
    int m,n;
    double s1;
    while(scanf("%d %d",&m,&n)!=EOF)
    {
		if(m==0&&n==0)
			break;
		else
		{
        s1=(-m+sqrt(m*m-4*n))/2;
		if(panduan(s1))
			printf("Yes\n");
		else
			printf("No\n");
		}      
    }
}

  

 

posted @ 2014-11-13 07:32  sequenceaa  阅读(191)  评论(0编辑  收藏  举报