有形如:a x^3 + b x^2 + c x + d = ax3+bx2+cx+d=0 这样的一个一元三次方程。

给出该方程中各项的系数(a,b,c,da,b,c,d 均为实数),并约定该方程存在三个不同实根(根的范围在 -100−100 至 100100 之间),且根与根之差的绝对值 >=1。要求由小到大依次在同一行输出这三个实根(根与根之间留有空格),并精确到小数点后 22 位。

提示:记方程 f(x) = 0f(x)=0,若存在 22 个数 x_1x1​ 和 x_2x2​,且 x_1 < x_2x1​<x2​,f(x_1) \times f(x_2) < 0f(x1​)×f(x2​)<0,则在 (x_1, x_2)(x1​,x2​) 之间一定有一个根。

#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
int main()
{double a,b,c,d;cin>>a>>b>>c>>d;double A,B;double x1,x2,x3;A=b*b-3*a*c;B=b*c-9*a*d;double T=(2*A*b-3*a*B)/(2*A*sqrt(A));double S=acos(T);x1=(-b-2*sqrt(A)*cos(S/3))/(3*a);x2=(-b+sqrt(A)*(cos(S/3)+sqrt(3)*sin(S/3)))/(3*a);x3=(-b+sqrt(A)*(cos(S/3)-sqrt(3)*sin(S/3)))/(3*a);double maxv,midv,minv;maxv=max(max(x1,x2),x3);minv=min(min(x1,x2),x3);if(x1!=maxv&&x1!=minv)midv=x1;if(x2!=maxv&&x2!=minv)midv=x2;if(x3!=maxv&&x3!=minv)midv=x3;printf("%.2lf %.2lf %.2lf",minv,midv,maxv);
}

盛金公式 C++(求解一元三次方程的求根公式)相关推荐

  1. 基于C语言使用卡尔丹公式法求解一元三次方程

    求根公式的推导 这里直接引用网络上的一般公式 ,如下图. 在C语言中的实现 #include<stdio.h> #include<math.h> #include<com ...

  2. c语言公式法求解一元三次方程

    #include<stdio.h> #include<math.h> int main() {float a,b,c,d,x1,x2,x3,p,q,i,w,s1,s2,s3,X ...

  3. 盛金公式解一元三次方程_一元三次方程解法(卡尔丹公式法盛金公式法)

    卡尔丹公式法 特殊型一元三次方程 X^3+pX+q=0 (p.q∈R) 判别式Δ=(q/2)2+(p/3)3 卡尔丹公式 X1=(Y1)(1/3)+(Y2)(1/3) X2= (Y1)(1/3)ω+( ...

  4. 用盛金公式求解一元三次方程

    解一元三次方程一般用盛金公式求解,算法高效且求出来的解精确.     百度百科关于盛金公式有如下解释: 盛金公式 Shengjin's Formulas 一元三次方程aX^3+bX^2+cX+d=0, ...

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

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

  6. C# 盛金公式 求解一元三次方程

    class dd2{private static readonly double dsr3 = Math.Sqrt(3);// <summary>/// 盛金公式求解一元三次方程,ax^3 ...

  7. 一元三次方程求解(盛金公式)

    一元三次方程求解(盛金公式) #include<iostream> #include<cmath> #include<iomanip> using namespac ...

  8. NOIP 2001 一元三次方程求解(二分||盛金公式)

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

  9. P1024 一元三次方程求解 牛顿迭代+盛金公式+二分+勘根定理

    P1024 一元三次方程求解 传送门 题目描述 有形如:ax^3+bx^2+cx^1+dx^0=0 这样的一个一元三次方程.给出该方程中各项的系数(a,b,c,d均为实数),并约定该方程存在三个不同实 ...

最新文章

  1. 重新精读《Java 编程思想》系列之public,protected,private与无修饰符权限的区别...
  2. 【Android 应用开发】Android - TabHost 选项卡功能用法详解
  3. 从单片机工程师的角度看嵌入式Linux
  4. Spring Boot之基于Redis实现MyBatis查询缓存解决方案
  5. 异常:java.lang.NoClassDefFoundError: org/springframework/expression/ParserContext
  6. nvme装系统不能自引导_新买的固态硬盘用AHCI不能装系统,而用IDE却可以?问题就在这里...
  7. 自定义弹框,点击提示框外空白区域,让弹框消失
  8. [转帖]VMware时间不准问题的解决方法
  9. Web前端开发技术实验与实践(第3版)储久良编著实训4
  10. 分光光度计的使用及注意事项
  11. JS 中删除节点的两个方法
  12. python图片截取斜四边形_opencv 截取任意四边形区域的图像
  13. 1 About This Guide
  14. ugui 转轮_(转)unity3D的FingerGestures插件
  15. 【Matlab绘图进阶第5弹】Matlab绘制三维散点图
  16. R语言进阶之3:数据汇总/透视/提炼
  17. Win32 组合框控件的使用
  18. MUMPS在CentOS下的安装
  19. 两位诺奖得主加持、解决“不可能三角”的UPoS机制来了
  20. 记录工作中遇到的正则表达式

热门文章

  1. 著名EMORY大学logo翻新案例—跟高手学设计
  2. java基于springboot二手物品交易网站
  3. 财务人员python教程_财务有必要学python吗
  4. 佳能Canon PIXMA MG4170 打印机驱动
  5. 情感分析Sentiment Analysis 知识资料全集(入门/进阶/论文/综述/视频/专家,附查看
  6. 【PAT1012B】数字分类
  7. 谷歌地球,一款强大而无法替代的虚拟地球软件
  8. [技术博客]使用微信机器人监听群内招聘信息的过程及遇到的问题
  9. js数组常用方法(19种)|你会的到底有多少呢?
  10. Android上好看的倒数日APP,Hurry:颜值超高的倒数日 App,让 Android 手机桌面好看 2 倍 #Android...