zoukankan      html  css  js  c++  java
  • hdu 2092 整数解(一元二次方程解)

    题目:
    在这里插入图片描述


    思路:

    1.两个整数的和和积容易联想到一元二次方程的两个根,只要证明有两个解,并都是整数就打印出Yes,否则打印出No
    2.最后判断那步,为什么只需要判断一个整数存在就够了,因为和是整数,一个加数是整数,另一个必然也是整数。
    

    代码:

    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
    	int n,m;
    	while(cin>>n>>m)
    	{
    		if(n==0&&m==0)break;
    		if(n*n-4*m<0)
    		cout<<"No"<<endl;
    		else
    		{
    		double a=(n+sqrt(n*n-4*m))/2,b=(n-sqrt(n*n-4*m))/2;
    		if(a==int(a)||b==int(b))
    		{
    			cout<<"Yes"<<endl;
    		}else
    		{
    			cout<<"No"<<endl;
    		}
    		}	
    	}
    }
    
  • 相关阅读:
    Codeforces 1072
    XDOJ 1046
    BZOJ 1002
    BZOJ 1001
    BZOJ 1500/Luogu 2042
    nowcoder 211B
    BZOJ 3224
    BZOJ 1150
    POJ 2442
    二叉堆和二叉搜索树进阶
  • 原文地址:https://www.cnblogs.com/YenKoc/p/12779927.html
Copyright © 2011-2022 走看看