HDOJ 1840 Equations 一道初中生可以解决的题目

来源:互联网 发布:qemu 启动ubuntu 编辑:程序博客网 时间:2024/04/28 20:15

    题目URL:http://acm.hdu.edu.cn/showproblem.php?pid=1840

    判断一个给定的一元二次方程的解的个数。但是这个题目的的一个隐含条件是,a不一定不为0.如果a为零的话,那么这个方程就要退化成为一个一元一次方程了。甚至当a,b同时为零的话,就要考虑c是否为零了,若c为零,则解无穷多。若不为0,则无解。这道的分类讨论必须很严谨。复习了一下初中的代数知识。感觉不错。

    这是我的AC代码。

   

#include<iostream>#include<stdio.h>using namespace std;int main(){int a, b, c, ans, delta, cases;scanf("%d", &cases);while(cases--){scanf("%d%d%d", &a, &b, &c);if(a == 0){if(b == 0){if(c == 0)ans = -1;else ans = 0;}else ans = 1;}else {delta = b * b - 4 * a * c;if(delta > 0) ans = 2;else if(delta == 0) ans = 1;else ans = 0;}if(ans == -1) printf("INF\n");else printf("%d\n", ans);} system("pause");return 0;}



原创粉丝点击