杭电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的主要内容,如果未能解决你的问题,请参考以下文章