首页 > 学院 > 开发设计 > 正文

HDU 2092 - 整数解

2019-11-08 02:01:08
字体:
来源:转载
供稿:网友

HDU 2092 - 整数解

维达定理 && 一元二次方程(初中数学知识吧。。

题目

哦美国

解题过程

运用int变量的性质吧。 判断有没有根,没有根直接输出No;若有根,用求根公式直接求出int型的x1、x2,若x1 + x2 == n && x1 * x2 == m,则输出Yes;否则输出No。

Ac代码

#include <cstdio>#include <string>#include <ctime>#include <cmath>#include <cstring>#include <iostream>#include <algorithm>#include <vector>#include <queue>using namespace std;// 2092 - 整数解// X^2 + (-a)X + m = 0;// derta = sqrt(a^2 - 4m);// x = (a +/- derta) / 2;int main() { int n, m, derta, x1, x2; while (~scanf("%d%d", &n, &m)) { if (n == 0 && m == 0) { break; } else { if (n * n - 4 * m < 0) { PRintf("No/n"); } else { derta = int(sqrt(n * n - 4 * m)); x1 = (n + derta) / 2; x2 = (n - derta) / 2; if (x1 + x2 == n && x1 * x2 == m) { printf("Yes/n"); } else { printf("No/n"); } } } } return 0;}

小结

没啥好小结的,以后做点稍微有点难度的吧!


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表