美文网首页
2020-09-02 一元三次方程求解

2020-09-02 一元三次方程求解

作者: JalorOo | 来源:发表于2020-09-02 22:38 被阅读0次

https://www.luogu.com.cn/problem/P1024

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <sstream>
#include <algorithm>
#include <cstring>
#include <vector>
using namespace std;

template<typename DataType>
DataType qmi(DataType m, int k)
{
    DataType res = 1, t = m;
    while (k)
    {
        if (k&1) res = res * t;
        t = t * t;
        k >>= 1;
    }
    return res;
}

int read(){
    int x = 0,f = 1;
    char c = getchar();
    while (c<'0'||c>'9') {
        if (c=='-') {
            f = -1;
        }
        c = getchar();
    }
    while (c>='0'&&c<='9') {
        x = x*10+c-'0';
        c = getchar();
    }
    return x*f;
}

#define fi(a,b) for(int i = a; i <= b; i++)
#define fj(a,b) for(int j = a; j >= b; j--)

double a,b,c,d;

double func(double x){
    return a*x*x*x+b*x*x+c*x+d;
}

int main(){
    cin>>a>>b>>c>>d;
    int cnt = 0;
    for (int i = -100; i< 100; i++) {
        double l = i;
        double r = i+1;
        double x1,x2;
        x1 = func(l);
        x2 = func(r);
        if(!x1){
            printf("%.2lf ",l);
            cnt ++;
        }
        if(x1 * x2 < 0){
            double m;
            while(r - l >= 0.001){//二分控制精度。
                m=(l+r)/2;  //中值
                x1 = func(m);
                x2 = func(r);
                if(x1 * x2 <= 0)
                   l = m;
                else
                   r = m;//计算中点处函数值缩小区间。
            }
            printf("%.2lf ",l);
            cnt ++;
        }
        if(cnt == 3){
            break;
        }
    }
    
    return 0;
}
/*
1 -5 -4 20
============
-2.00 2.00 5.00
*/

相关文章

  • 学子情缘

    记得刚上初二,数学进入方程求解的教学内容,如一元n次方程的求解,二元一次方程组的求解等。一元二次方程有公式法,有因...

  • 2020-09-02 一元三次方程求解

    https://www.luogu.com.cn/problem/P1024

  • 2018-12-08

    我们学习了几种方程,分式方程,一元一次方程,其实不难发现,这几种方程的求解殊途同归,都是要化成一元一次方程来进行求...

  • 使用牛顿迭代法求解非线性方程的根

    牛顿法是一种近似求解非线性方程根的迭代算法。本文简要叙述该算法并使用MATLAB实现该算法求解一元非线性方程和多元...

  • 迭代思想

    求解一元高次方程的时候 ,用迭代法近似求解这类问题,梯度法,最小二乘法,牛顿迭代法。迭代法 用于 线性非线形方程组...

  • 使用scipy库的root和fsolve函数求解方程

    求解非线性方程 使用scipy库的 root, fsolve 函数求解非线性方程。 求解传热方程(热辐射+热传导)...

  • 2021-12-12

    通过几个例子,我们发现求解一元一次方程,有以下几个步骤: 1、移项。 2、合并同类项,化为ax=b形式。 3、方程...

  • 2020-01-16

    机器学习概念统计学样本 —— 数据集待求解方程(待求解方程中的未知数为参数) —— 预训练模型求解参数后的N元方程...

  • python练习1:公式法求解一元二次方程

    题目:一元二次方程:ax²+bx+c=0(a≠0) 思路:(1)公式法如何求解?先判断△=b²-4ac,若△<0,...

  • R语言求解线性方程组的方法

    在本站上一篇文章中探讨了在R中求解一元方程的方法[http://www.biye5u.com/article/R/...

网友评论

      本文标题:2020-09-02 一元三次方程求解

      本文链接:https://www.haomeiwen.com/subject/heygsktx.html