洛谷 [P1024]一元三次方程求解【二分答案】
题目链接:https://www.luogu.org/problemnew/show/P1024
题目描述
有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程。给出该方程中各项的系数(a,b,c,d 均为实数),并约定该方程存在三个不同实根(根的范围在-100至100之间),且根与根之差的绝对值>=1。要求由小到大依次在同一行输出这三个实根(根与根之间留有空格),并精确到小数点后2位。
提示:记方程f(x)=0,若存在2个数x1和x2,且x1<x2,f(x1)*f(x2)<0,则在(x1,x2)之间一定有一个根。
输入输出格式
输入格式:
一行,4个实数A,B,C,D。
输出格式:
一行,三个实根,并精确到小数点后2位。
1 -5 -4 20
-2.00 2.00 5.00 解题思路由于题目说明两根之差的绝对值>=1,所以长度为1的区间内最多只有一个跟,于是我们先遍历区间,利用f(x1)*f(x2)<0来判断该区间内是否有根,再对有根的区间进行二分,找到根的精确值。
#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
double a, b, c, d;
double f(double x)
{
    return (a*x*x*x + b * x*x + c * x + d);
}
int main()
{
    double x1, x2, xx;
    cin >> a >> b >> c >> d;
    ; x <= 100; x++)
    {
        x1 = x; x2 = x + ;//确定根可能所在的区间
        )printf("%.2f ", x1);      //考虑根在区间端点上的情况
        )//如果小于0,则确定根在区间[x1,x2]中
        {
            while (x2 - x1 >= 0.001)     //二分法确定根的值,由于要精确到小数点后2位,所以这里要算到第三位
            {
                xx = (x1 + x2) / ;
                )x2 = xx;
                else x1 = xx;
            }
            printf("%.2f ", x1);
        }
    }
    ;
}
2018-05-15
洛谷 [P1024]一元三次方程求解【二分答案】的更多相关文章
- [NOIP提高&洛谷P1024]一元三次方程求解 题解(二分答案)
		
[NOIP提高&洛谷P1024]一元三次方程求解 Description 有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程.给出该方程中各项的系数(a,b,c,d 均为实数),并约 ...
 - 洛谷——P1024 一元三次方程求解
		
P1024 一元三次方程求解 题目描述 有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程.给出该方程中各项的系数(a,b,c,d 均为实数),并约定该方程存在三个不同实根(根的范围在-10 ...
 - 洛谷P1024 一元三次方程求解
		
P1024 一元三次方程求解 题目描述 有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程.给出该方程中各项的系数(a,b,c,d 均为实数),并约定该方程存在三个不同实根(根的范围在-10 ...
 - [NOIP2001] 提高组 洛谷P1024 一元三次方程求解
		
题目描述 有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程.给出该方程中各项的系数(a,b,c,d 均为实数),并约定该方程存在三个不同实根(根的范围在-100至100之间),且根与根之差 ...
 - 【洛谷P1024一元三次方程求解】
		
题目描述 有形如: ax3 + bx2 + cx1 + dx0 = 0 这样的一个一元三次方程.给出该方程中各项的系数( a,b,c,d 均为实数),并约定该方程存在三个不同实根(根的范围在 -100 ...
 - 洛谷 [P1024]一元三次方程求解
		
一道水题然而坑点很多. #include <iostream> #include <cstdio> #include <algorithm> #include &l ...
 - 洛谷P1024 一元三次方程求解(数学)
		
题意 题目链接 Sol 本来是一道好的公式题. 然后输出只要保留两位小数?? 直接上不就赢了嘛.. #include<bits/stdc++.h> #define LL long long ...
 - P1024 一元三次方程求解
		
P1024 一元三次方程求解 #include<cstdio> #include<iostream> #include<algorithm> using names ...
 - [CodePlus 2017 11月赛&洛谷P4058]木材 题解(二分答案)
		
[CodePlus 2017 11月赛&洛谷P4058]木材 Description 有 n棵树,初始时每棵树的高度为 Hi ,第 i棵树每月都会长高 Ai.现在有个木料长度总量为 S的订单, ...
 
随机推荐
- sun.misc.BASE64Encoder等类报错的解决方法
			
一.引言: sun.misc.BASE64Encoder等类不属于JDK标准库范畴,但在JDK中包含了该类,可以直接使用.但是在eclipse中直接使用却报错.本文就介绍一下针对这样的类如何处理. 二 ...
 - MRPT 安装使用
			
1. 安装mrpt ( apt-get ) $ sudo apt-get install mrpt-apps libmrpt-dev 2. 下载mrpt-1.3 链接:https://github.c ...
 - win7下出现读不到移动硬盘的解决办法
			
很多电脑会出现移动硬盘读不到,或者 读到部分盘的情况,那么下面我就为大家来一一解决这些情况: 方法一: 最常见的是硬盘供电不足导致 ,要么换一个硬盘盒子,要么给硬盘一个外加电源即可方法二: ...
 - DataTables 1.10.x与1.9.x参数名对照表
			
Datatables 1.10.x在命名上与1.9.x的有区别,新版的使用的是驼峰的命名规则,而之前的是采用匈牙利命名规则 当然,这些变化都是向下兼容的,你可以继续使用旧版本的api方法的参数和名称. ...
 - java多线程系列五、并发容器
			
一.ConcurrentHashMap 1.为什么要使用ConcurrentHashMap 在多线程环境下,使用HashMap进行put操作会引起死循环,导致CPU利用率接近100%,HashMap在 ...
 - HTML学习笔记06-连接
			
HTML超链接 HTML使用标签<a>来设置文本超链接. 超链接可以是文字,也可以是图片,点击这些内容跳转到新的文档或当前文档的某个部分 代码类似这样: <a href=" ...
 - 生成ansible-playbook的yaml文件的代码(字典排序问题无法解决)
			
import yaml import collections def add_task(): return None def add_vars(): return None def add_handl ...
 - nginx异常处理
			
1.nginx不转发消息头header问题 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_se ...
 - jenkins cobertura单元测试
			
1.1 Maven 工程 pom.xml 修改 1.2 Build添加插件目标 此时构建项目,会在项目 targer/site/cobertura 目录中生成 html 与 xml ...
 - javaScript中自定义sort中的比较函数,用于比较字符串长度,数值大小
			
, 1.2, 'bb', 'cc']; var len = arr.length; // for (var i = 0; i < len; i++) { // alert(arr + &qu ...