Description

有形如:ax3+bx2+cx+d=0  这样的一个一元三次方程。给出该方程中各项的系数(a,b,c,d  均为实数),并约定该方程存在三个不同实根(根的范围在-100至100之间),且根与根之差的绝对值> =1。要求三个实根。

Input

四个实数:a,b,c,d 

Output

由小到大依次在同一行输出这三个实根(根与根之间留有空格),并精确到小数点后2位 

Sample Input

1  -5  -4  20

Sample Output

-2.00  2.00  5.00

Hint

数据规模和约定
|a|,|b|,|c|,|d|< =10
1.盛金公式
一元三次方程aX3+bX2+cX+d=0,(a,b,c,dR,且a≠0)
重根判别式

总判别式Δ=B2-4AC
A=B=0时,
盛金公式1:

Δ=B2-4AC>0时,

盛金公式2:
盛金公式2的三角式:
其中

Δ=B2-4AC=0时,
盛金公式3:
其中

Δ=B2-4AC<0时,
盛金公式4:
其中

A>0,-1<T<1)。

2.盛金判别法
A=B=0时,方程有一个三重实根。
当Δ=B2-4AC>0时,方程有一个实根和一对共轭虚根。
当Δ=B2-4AC=0时,方程有三个实根,其中有一个二重根。
当Δ=B2-4AC<0时,方程有三个不相等的实根。
3.盛金定理
b=0,c=0时,盛金公式1无意义;当A=0时,盛金公式3无意义;当A≤0时,盛金公式4无意义;当T<-1或T>1时,盛金公式4无意义。
b=0,c=0时,盛金公式1是否成立?盛金公式3与盛金公式4是否存在A≤0的值?盛金公式4是否存在T<-1或T>1的值?盛金定理给出如下回答:
盛金定理1:当A=B=0时,若b=0,则必定有c=d=0(此时,方程有一个三重实根0,盛金公式1仍成立)。
盛金定理2:当A=B=0时,若b≠0,则必定有c≠0(此时,适用盛金公式1解题)。
盛金定理3:当A=B=0时,则必定有C=0(此时,适用盛金公式1解题)。
盛金定理4:当A=0时,若B≠0,则必定有Δ>0(此时,适用盛金公式2解题)。
盛金定理5:当A<0时,则必定有Δ>0(此时,适用盛金公式2解题)。
盛金定理6:当Δ=0时,若A=0,则必定有B=0(此时,适用盛金公式1解题)。
盛金定理7:当Δ=0时,若B≠0,盛金公式3一定不存在A≤0的值(此时,适用盛金公式3解题)。
盛金定理8:当Δ<0时,盛金公式4一定不存在A≤0的值。(此时,适用盛金公式4解题)。
盛金定理9:当Δ<0时,盛金公式4一定不存在T≤-1或T≥1的值,即T出现的值必定是-1<T<1。
显然,当A≤0时,都有相应的盛金公式解题。
注意:盛金定理逆之不一定成立。如:当Δ>0时,不一定有A<0。
盛金定理表明:盛金公式始终保持有意义。任意实系数的一元三次方程都可以运用盛金公式直观求解。
#include <cstdio>
#include <iostream>
#include <cmath>
#include <string>
#include <cstring>
#include <algorithm>
#include <queue>
#include <vector>
#include <map>
using namespace std;
#define ll long long
const int inf = 0x3f3f3f3f;
const int mod = 1e9+7;int main()
{double a,b,c,d;double as,bs,t,si;double x1,x2,x3;cin>>a>>b>>c>>d;as=b*b-3*a*c;bs=b*c-9*a*d;t=(2*as*b-3*a*bs)/(2*sqrt(as*as*as));si=acos(t);x1=(-b-2*sqrt(as)*cos(si/3))/(3*a);x2=(-b+sqrt(as)*(cos(si/3)+sqrt(3)*sin(si/3)))/(3*a);x3=(-b+sqrt(as)*(cos(si/3)-sqrt(3)*sin(si/3)))/(3*a);cout<<fixed<<setprecision(2)<<x1<<" ";cout<<fixed<<setprecision(2)<<x3<<" ";cout<<fixed<<setprecision(2)<<x2<<endl;return 0;
}

转载于:https://www.cnblogs.com/RootVount/p/11255320.html

SDNU 1416.一元三次方程求解(数学)相关推荐

  1. 信息学奥赛一本通(1238:一元三次方程求解)

    1238:一元三次方程求解 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 6364     通过数: 3241 [题目描述] 形如:ax^3+bx^2+cx+d= ...

  2. zcmu-2116一元三次方程求解

    2116: 一元三次方程求解 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 65  Solved: 23 [Submit][Status][Web B ...

  3. 1814: 一元三次方程求解

    //很久之前写的,记录一下~ 1814: 一元三次方程求解 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 45 Solved: 28 [Submit][ ...

  4. 【luogu 1024 一元三次方程求解】二分思想

    题目出自luogu 1024 一元三次方程求解 描述: 有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程.给出该方程中各项的系数(a,b,c,d 均为实数),并约定该方程存在三个不同实根( ...

  5. 1038 一元三次方程求解

    1038 一元三次方程求解 2001年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题目描述 Description 有形如:ax3+b ...

  6. 洛谷——P1024 [NOIP2001 提高组] 一元三次方程求解

    P1024 [NOIP2001 提高组] 一元三次方程求解 题目描述 有形如:a x^3 + b x^2 + c x + d = 0a**x3+b**x2+c**x+d=0 这样的一个一元三次方程.给 ...

  7. P1024 [NOIP2001 提高组] 一元三次方程求解 /1238:一元三次方程求解

    P1024 [NOIP2001 提高组] 一元三次方程求解 /1238:一元三次方程求解 # [NOIP2001 提高组] 一元三次方程求解 ## 题目描述 有形如:$a x^3 + b x^2 + ...

  8. MATLAB实现一元三次方程求解/盛金公式

    MATLAB实现一元三次方程求解/盛金公式 一元三次方程求解中,1945年卡尔丹诺把冯塔纳的三次方程求根公式发表出来,但该公式形式比较复杂,直观性也较差.1989年范盛金对一元三次方程求解进行了深入的 ...

  9. 蓝桥杯 算法训练 一元三次方程求解

    算法训练 一元三次方程求解   时间限制:1.0s   内存限制:256.0MB        问题描述 有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程.给出该方程中各项的系数(a,b, ...

最新文章

  1. mybatis mysql方言_MyBatis 方言支持 - Mysql to 华为高斯数据库(gaussdb)
  2. HttpServletRequest HttpServletResponse ServletException 重新打开后报红解决方法
  3. NSOperation的使用细节 [1]
  4. Kafka分布式环境搭建
  5. 速战速决?你不会是不行吧......
  6. linux服务器配置ssl证书
  7. 插座上的Linux充电器.不..Marvell Plug Computer
  8. 「小程序JAVA实战」 小程序的事件(11)
  9. javascript中的常见事件
  10. SQLserver nText和varchar 不兼容
  11. ThinkPHP5.0版本和ThinkPHP3.2版本的差别
  12. SQLServer之创建Transact-SQL DDL触发器
  13. 汉字转16进制java_java中将汉字转换成16进制
  14. tolua unity 报错_unity tolua异常处理
  15. srs源码分析3-srs的启动
  16. java srs 推流_srs推流服务器部署
  17. 基于因果推断的根因分析
  18. Rocket MQ(四)Topic,Topic分片和Queue
  19. 动态设置控件的宽度(width)
  20. 电商API按关键字搜索商品

热门文章

  1. android 开发时遇到的环境问题3--eclipse整个项目工程报错
  2. Installshield获取安装包版本的系统变量是IFX_PRODUCT_VERSION
  3. win7或xp下常用命令
  4. 如何使用ActionScript来检测用户的操作系统种类及浏览器类型
  5. 用netsh自动切换IP
  6. python 行列式计算
  7. Repeating Decimals (计算循环小数)
  8. 四十六、Qt网络(六)UDP
  9. 【转】关闭特定虚拟机上声音嘟嘟声
  10. Unity声音-音源组件