• 分治5--一元三次方程求解


    分治5--一元三次方程求解

    一、心得

    一定要先想清楚,套路是固定的

    如果有位置不懂,就举例子举出来吧 

    先说明等于的情况

    然后再是不等于的情况

    二、题目及分析

    一元三次方程求解

    总时间限制: 1000ms 内存限制: 65536kB 
    描述 
    有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程。

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

    输入 
    一行,包含四个实数a,b,c,d,相邻两个数之间用单个空格隔开。 
    输出 
    一行,包含三个实数,为该方程的三个实根,按从小到大顺序排列,相邻两个数之间用单个空格隔开,精确到小数点后2位。 
    样例输入 
    1.0 -5.0 -4.0 20.0 
    样例输出 
    -2.00 2.00 5.00

    三、代码及结果

     1 /*
     2 如果有位置不懂,就举例子举出来吧 
     3 
     4 */ 
     5 #include <iostream>
     6 using namespace std;
     7 
     8 double a,b,c,d;
     9 double f(double x){
    10     double f=a*x*x*x+b*x*x+c*x+d; 
    11     return f;
    12 }
    13 
    14 //枚举法 从-100,-99.99,...,一直枚举到100 
    15 void findAns(){
    16     cout<<"枚举:"<<endl; 
    17     for(double x=-10000;x<=10000;x++){//10000是为了方便x++,也可(x/100)++ 
    18         double x1=x/100-0.005,x2=x/100+0.005;
    19         //if(f(x1)*f(x2)<=0)//有错 在99.99的时候,有99.985; 和99.98的时候,也有99.985,
    20         // 如果是99.985,那 99.99和99.98都成立 
    21         if(f(x1)*f(x2)<0||f(x1)==0)
    22             printf("%.2f ",x/100);
    23     }
    24     cout<<endl;
    25 }
    26 
    27 //分治
    28 //这个之前写的有问题 
    29 void findAns2(){
    30     cout<<"分治:"<<endl; 
    31     for(double x=-100;x<=100;x++){
    32         double x1=x,x2=x+1;
    33         //先输出等于的情况
    34         if(f(x1)==0)  printf("%.2f ",x1);
    35         else if(f(x1)*f(x2)<0){//符合条件 
    36             while(x2-x1>=0.001){
    37                 double mid=(x1+x2)/2;
    38                 if(x1*mid<=0) x2=mid;
    39                 else x1=mid;
    40             }
    41             printf("%.2f ",x1);
    42         }
    43         
    44     } 
    45     cout<<endl;
    46 } 
    47 
    48 int main(){
    49     cin>>a>>b>>c>>d;
    50     findAns();  
    51     findAns2();                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
    52     return 0;
    53 } 

  • 相关阅读:
    opencv下载,安装教程
    VS2010中程序编译生成都是正确的,直接生成的exe也是正确的,就是在VS中运行出现错误
    Oracle11g em启动报此网站的安全证书有问题的解决方案
    Python教程百度云资源分享,全套,完整版!!!
    Python视频教程免费分享(2020年最新版)
    Python 环境搭建(Win 安装以及Mac OS 安装)
    Python学习路线图(2020年最新版)
    Python爬虫入门教程之BeautifulSoup
    Python数据分析练手:分析知乎大V
    python 可变对象与不可变对象
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/7138098.html
Copyright © 2020-2023  润新知