dreamoon初中时最喜欢在上数学课时睡觉叻每次睡觉时,都会被老师罚解很多道整系数一元二次多项式的因式分解因式分解成两个整系数一元一次多项式的因式分解相乘的题目但dreamoon很狡猾,写了一个能解因式分解的程序故这个惩罚对dreamoon没什么大不了的。
身为dreamoon粉丝的你也想效法dreamoon(能够写出解因式分解的程序的部份),现在就来测试看看你写的程序是否正确吧?
至于你应该要输出什么详情请参考标准输出。
输入的第一行有一个正整数 T玳表该笔测试资料含有多少组因式分解问题。
接下来有 T 行每个询问各占 1 行,包含 3 个整数 a, b, c代表这个询问要你对 a·x2+ b·x +c 做因式分解。
若无法因式分解则输仍然输出三个整数 a, b, c 于一行。
* 数据里所有的数都是整数
一元二次整系数多项式的因式分解因式整汾解
根是不能决定方程具体的参数的但是和参数是有关系的,也就是求根公式?b±b2?4ac√2a
必须为有理数 又a,b,c全为整数
所以b2?4ac 应为完全平方数 否则无solution
现在相当于我们确定了t,s
既然确定了比例我们可以设基本参数表示两个数,
但有一种比较方便的方法就是直接消去t,s (v,u)的gcd 然后成比例擴大即可
0 时才有解 令a=a/su 则a为最后s t要扩大的倍数 因为在前面的越大越好
最后要确定题意中的最大的s,t,u,v
首先,我们让s,u为正数(显然如果他们中的某个做了题目中最后的’s’位置,其为正是结果最大的情况) 对于s若取相反数,则t,a也取相反数 (u同理)
然后比较很大的数s?很大的数+t
囷很大的数u?很大的数+v
以确定哪一对是真正的“s,t”
最后要注意,扩大a(a/su)倍的时候若a是负数,把-1分给u,v
}