hdu 5615 Jam's math problem
来源:互联网 发布:苹果付费画图软件 编辑:程序博客网 时间:2024/06/06 17:24
Jam's math problem
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 881 Accepted Submission(s): 423
Problem Description
Jam has a math problem. He just learned factorization.
He is trying to factorizeax2+bx+c into the form of pqx2+(qk+mp)x+km=(px+k)(qx+m) .
He could only solve the problem in which p,q,m,k are positive numbers.
Please help him determine whether the expression could be factorized with p,q,m,k being postive.
He is trying to factorize
He could only solve the problem in which p,q,m,k are positive numbers.
Please help him determine whether the expression could be factorized with p,q,m,k being postive.
Input
The first line is a number T , means there are T(1≤T≤100) cases
Each case has one line,the line has3 numbers a,b,c(1≤a,b,c≤100000000)
Each case has one line,the line has
Output
You should output the "YES" or "NO".
Sample Input
21 6 51 6 4
Sample Output
YESNOHintThe first case turn $x^2+6*x+5$ into $(x+1)(x+5)$
Source
BestCoder Round #70
Recommend
hujie | We have carefully selected several similar problems for you: 5644 5643 5642 5641 5640
/* 题目大意:判断是否可以把 ax^2 + bx + c 转化成 pqx^2 + (qk + mp)x + km = (px+k)(qx+m) 由题目条件可得:p,q,k,m>0 a,b,c>0 那么函数的开口向上,对称轴在负半轴所以可以讨论 b^2 - 4ac 大于等于0还是小于0的情况了注意p,q,k,m不能为无理数 所以sqrt( b^2 -4ac )必须为整数 什么叫因式分解:把一个多项式在一个范围(如有理数范围内分解,即所有项均为有理数)化为几个最简整式的积的形式。 */ #include<iostream>#include<cstring>#include<algorithm>#include<cstdio>#include<cstdlib>#include<cmath>using namespace std;int main(){__int64 sum,a,b,c;//__int64 t;//__int64 k;scanf("%I64d",&t);//while(t--)//{scanf("%I64d%I64d%I64d",&a,&b,&c);sum=b*b-4*a*c;if(sum<0)printf("NO\n");else if(sum>=0){k=sqrt(sum);if( (k*k)==sum ){printf("YES\n");}elseprintf("NO\n");}}return 0;}
#include<cstdio>#include<cstring>#include<iostream>#include<cmath>using namespace std;int a,b,c;int p[22000],k[22000];int cntp,cntk;int q,m;void init(){int i,j;cntp=0;cntk=0;for(i=1;i<=(int)(sqrt(a));i++){if(a%i==0){p[++cntp]=i;//p[++cntp]=a/i; 这步可以省略,可以举个例子来分析下,比如a=12 , c=6 ,可以证明出p[] 和 k[] 可以省略一个//这样可以节省点时间 }}for(j=1;j<=(int)(sqrt(c));j++){if(c%j==0){k[++cntk]=j;k[++cntk]=c/j;}}return ;}void get_answer(){int i,j;for(i=1;i<=cntp;i++){for(j=1;j<=cntk;j++){q=a/p[i];m=c/k[j];if(q*k[j]+m*p[i]==b){printf("YES\n");return ;}}}printf("NO\n");return ;}int main(){int t;scanf("%d",&t);while(t--){scanf("%d%d%d",&a,&b,&c);init();get_answer();}return 0;}
0 0
- HDU 5615 Jam's math problem
- HDU 5615 Jam's math problem
- HDU 5615 Jam's math problem
- hdu 5615 Jam's math problem
- HDU-5615-Jam's math problem
- Hdu 5615 Jam's math problem【数学】
- hdu 5615 Jam's math problem
- HDU 5615:Jam's math problem【模拟】
- HDU 5615 Jam's math problem
- HDU 5615 Jam's math problem <数学>
- hdu 5615 (Jam's math problem)
- HDU Problem 5615 Jam's math problem 【十字交叉,暴力】
- 杭电hdu 5615 Jam's math problem【胡搞过】
- HDU 5615 Jam's math problem(模拟)
- HDU-5615(Jam's math problem)(方程求解)
- HDU 5615 Jam's math problem(十字相乘判定)
- HDU:5615 Jam's math problem(暴力,数学)
- HDU 5615 Jam's math problem(水~)
- link和import的区别
- Java的Font类
- phpcms安装摘要
- (4.5.3.4)finished with non-zero exit value 2
- VS2013运行OpenGL例子提示找不到<GL/glew.h>,GL/freeglut_ext.h,GL/freeglut.h,glew32.lib,freeglut.lib等
- hdu 5615 Jam's math problem
- 从零开始构建自己的ARM Ubuntu系统
- [BZOJ 3622]已经没有什么好害怕的了
- js的几种继承方式
- HashMap实现原理分析以及HashSet
- Java swing更改全局字体
- Java中多线程线程的控制及常用方法
- JS解析XML--实现省市县级联
- 第三周项目4:穷举法解决组合问题(3)年龄几何