杭电2092

Posted ssniper

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了杭电2092相关的知识,希望对你有一定的参考价值。

技术图片

一开始以为是找规律的题,死活没有找出输入数nm的关系,后面看了讨论区发现直接按照解二元一次方程的方式做就好了

即x+y=n, x*y=m

这样可以得-x+n*x-m=0,再判断这个方程是否有整数解就能知道该题输入的结果

题目很水,但是这种直接和数学结合的题目我做的比较少,没有这类思想去想到直接用数学的方式写就好了,思维太局限于死板地用蛮力代码实现

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

int main(void)
    int n, m;
    int b, a, c;
    float x1, x2;
    while(~scanf("%d%d", &n, &m) && (m||n))
        b = n;
        a = -1;
        c = m*(-1);
        x1 = b*(-1)+sqrt(b*b-4*a*c);
        x2 = b*(-1)-sqrt(b*b-4*a*c);
        if((x2-(int)x1)==0 || (x2-(int)x2)==0)
            printf("Yes\\n");
        else
            printf("No\\n");
    
        
    return 0;

 

以上是关于杭电2092的主要内容,如果未能解决你的问题,请参考以下文章

如何有效使用 杭电 hdu oj

杭电acm的2073无限的路

杭电acm 3065求解答

杭电acm能不能用python

杭电1001

杭电acm 1003