2017年ACM第八届山东省赛F题:quadratic equation(离散数学蕴含式)
2017-10-06 15:00
471 查看
F题:quadratic equation
时间限制: 2 秒 内存限制: 128 MB | 提交: 277 解决: 44题目描述
With given integers a,b,c, you are asked to judge whether the following statement is true: "For any x, if a⋅x2+b⋅x+c=0, then x is an integer."输入
The first line contains only one integer T(1≤T≤2000), which indicates the number of test cases.For each test case, there is only one line containing three integers a,b,c(−5≤a,b,c≤5).输出
or each test case, output “YES” if thestatement is true, or “NO” if not.
样例输入
3 1 4 4 0 0 1 1 3 1
样例输出
YES YES NO 题意:判断"For any x, if a⋅x2+b⋅x+c=0, then x is an integer."是否成立 前件:For any x, if a⋅x2+b⋅x+c=0成立 (方程有解) 后件:then x is an integer.成立 (解是整数) 离散数学 p 为前件 q 为后件 的蕴含式 只有前件为 T 后件 为 F 时事件才为 F
#include <cstdio> #include <cmath> bool judge(int a , int b , int c){ if(a==0){ if(b==0){ if(c==0){ return false ; // 此时x可以取 任何值 不成立 } return true ; } else if(c%b==0){ return true ; } return false ; // } double d = b*b - 4 * a * c ; int D = (int)sqrt(d) ; if(d < 0){ return true ; } if(fabs(D - sqrt(d)) < 0.00000001){ if((0-b+D)%(2*a)==0 ){ if((0-b-D)%(2*a)==0) return true ; } } return false ; } int main(){ int t ; int a , b , c ; scanf("%d" , &t) ; while(t--){ scanf("%d%d%d" , &a , &b , &c) ; if(judge(a , b , c)){ printf("YES\n") ; } else { printf("NO\n") ; } } return 0 ; }
#include<stdio.h> #include<math.h> int main(void) { int T, a, b, c; double x; scanf("%d", &T); while(T--) { scanf("%d%d%d", &a, &b, &c); if(a==0 && b==0 && c==0) printf("NO\n"); else if(a==0 && b==0) printf("YES\n"); else if(a==0) { if(c%b==0) printf("YES\n"); else printf("NO\n"); } else if(b*b-4*a*c<0) printf("YES\n"); else { x = sqrt(1.0*b*b-4*a*c); if((-b+x)/(2*a)-(int)(-b+x)/(2*a)==0 && (-b-x)/(2*a)-(int)(-b-x)/(2*a)==0) printf("YES\n"); else printf("NO\n"); } } return 0; }
相关文章推荐
- 2017年山东省第八届ACM竞赛总结
- 2017年ACM第八届山东省赛A题:Return of the Nim
- 2017年山东省第八届ACM大学生程序设计竞赛 B Quadrat(sdut 3894) 打表找规律
- 2017年ACM第八届山东省赛G题:sum of power
- 2017年ACM第八届山东省赛J题:company
- 2017年ACM第八届山东省赛I题: Parity check(判断 第n项斐波那契数列奇偶性)
- 2017年山东省第八届ACM大学生程序设计竞赛 C fireworks(sdut 3895) 逆元求组合数
- 2017年ACM第八届山东省赛K题:CF
- 2017年第八届山东省ACM大学生程序设计竞赛后记
- 2017年山东省第八届ACM大学生程序设计竞赛总结
- [置顶] 2017年山东省第八届acm省赛总结
- 第八届ACM山东省赛 I Parity check
- 山东省第八届acm省赛D题HEX(组合数学)
- ”浪潮杯”山东省第八届ACM大学生程序设计竞赛 K CF【01背包 + 贪心】
- 第八届山东省ACM大学生程序设计竞赛个人总结
- ACM 第八届山东省赛 F quadratic equation SDUT 3898
- 山东省第八届ACM省赛C firework
- 山东省第八届ACM省赛感想——来自菜鸟的感叹
- 山东省第八届ACM省赛 G 题(sum of power)
- 山东省第八届ACM省赛 K 题(CF)