一元三次方程求解

描述

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

格式

输入格式

输入该方程中各项的系数(a,b,c,d 均为实数),

输出格式

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

样例1

样例输入1

1 -5 -4 20

样例输出1

-2.00 2.00 5.00

限制

每个测试点1s

提示

提示:记函数f(x),若存在2个实数x1和x2,且x1<x2,使f(x1)*(x2)<0,则在(x1, x2)之间一定存在实数x0使得f(x0)=0。

来源

NOIP2001第一题

题目链接:https://vijos.org/p/1116

分析:又来一道暴力题,听说这是一道很经典的二分?贴个二分的代码啊,暴力肯定可以,但是但是,一定要注意精度QAQ

暴力代码:【一个三元函数的性质,不懂的自己翻高中课本】

 #include <bits/stdc++.h>
using namespace std;
int main()
{
double a,b,c,d;
cin>>a>>b>>c>>d;
double j=-;
double i=j;
for(j;j<=;j+=0.01)
{
if(a*i*i*i+b*i*i+c*i+d<)
{
if(a*j*j*j+b*j*j+c*j+d>)
{
printf("%.2lf ",j);
i=j;
}
}
if(a*i*i*i+b*i*i+c*i+d>)
{
if(a*j*j*j+b*j*j+c*j+d<)
{
printf("%.2lf ",j);
i=j;
}
}
}
printf("\n");
return ;
}

直接贴了二分代码:

 #include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <iomanip>
#include <cstdlib>
using namespace std; float ans[];
float a,b,c,d;
int n=; float f(float x)
{
return ((a*x+b)*x+c)*x+d;
} void solve(float l,float r)
{
if(f(l)*f(r)>&&(((r-l)<)||n>=))
return;
float mid=(l+r)/; if(f(mid)<=1e- && f(mid)>=-1e-)
{
ans[n++]=mid;
return;
} solve(l,mid),solve(mid,r);
} int main()
{
cin>>a>>b>>c>>d;
solve(-,);
printf("%.2lf %.2lf %.2lf",ans[],ans[],ans[]);
return ;
}

Vijos P1116 一元三次方程求解【多解,暴力,二分】的更多相关文章

  1. [NOIP提高&洛谷P1024]一元三次方程求解 题解(二分答案)

    [NOIP提高&洛谷P1024]一元三次方程求解 Description 有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程.给出该方程中各项的系数(a,b,c,d 均为实数),并约 ...

  2. NOIP2001 一元三次方程求解

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

  3. 洛谷——P1024 一元三次方程求解

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

  4. P1024 一元三次方程求解

    P1024 一元三次方程求解 #include<cstdio> #include<iostream> #include<algorithm> using names ...

  5. 洛谷P1024 一元三次方程求解

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

  6. Codevs 1038 一元三次方程求解 NOIP 2001(导数 牛顿迭代)

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

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

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

  8. luogu【P1024 一元三次方程求解】题解

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

  9. NOIP2001 一元三次方程求解[导数+牛顿迭代法]

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

随机推荐

  1. iOS UICollectionView(转一) XIB+纯代码创建:cell,头脚视图 cell间距

    之前用CollectionViewController只是皮毛,一些iOS从入门到精通的书上也是泛泛而谈.这几天好好的搞了搞苹果的开发文档上CollectionViewController的内容,亲身 ...

  2. iOS Block的简单使用以及__block 和static修饰变量

    简单的代码总结,不足之处多多指教. //简单的使用 -(void)blockOne{ ; int(^BlockOne)(int) = ^(int num2) { return number*num2; ...

  3. CPP--关于long的争议和思考

    先普及一下VS开发Linux的知识点 VS2017的安装:https://www.cnblogs.com/dunitian/p/8051985.html 创建项目在这 第一次运行的时候会让输入服务器信 ...

  4. Mac_OS_Sierra_10.12.6编译OpenJDK9

    编译环境以及依赖 macOS:Sierra,10.12.6 处理器:2.6 GHz Intel Core i7 内存:16 GB 2133 MHz LPDDR3 Command Line Tools ...

  5. K:线性表的实现—链表

    单链表的概念:  采用链式存储方式存储的线性表称之为链表,链表中每个节点包含存放数据元素的值的数据域和存放指向逻辑上相邻节点的指针域.若一个节点中只包含一个指针域,则称此链表为单链表. 单链表的特点: ...

  6. K:正则表达式之基础简介

    正则表达式(regular expression 简称regex) 是一种工具,和其它工具一样是为了解决某一类问题而发明的.正则表达式是一些用来匹配和处理文本的字符串.平时主要用于查找和替换符合相应模 ...

  7. Kafka的基本概念与安装指南(单机+集群同步)

    最近在搞spark streaming,很自然的前端对接的就是kafka.不过在kafka的使用中还是遇到一些问题,比如mirrormaker莫名其妙的丢失数据[原因稍后再说],消费数据offset错 ...

  8. Lucene.net(4.8.0) 学习问题记录二: 分词器Analyzer中的TokenStream和AttributeSource

    前言:目前自己在做使用Lucene.net和PanGu分词实现全文检索的工作,不过自己是把别人做好的项目进行迁移.因为项目整体要迁移到ASP.NET Core 2.0版本,而Lucene使用的版本是3 ...

  9. 关于 const 的一点小研究

    在饱受 var 的折磨之后,ES6 终于推出了新的定义变量的方法:let 和 const 和 var 相比,let 和 const 有了自己的作用域,let 用于定义变量,而 const 用于定义常量 ...

  10. Linux知识--初始linux

    从今天开始陆续分享Linux的知识 因为服务器基本是Linux的 所以Linux不学明白  Shell命令不熟  会让你的办事效率大打折扣. 一.Linux文件系统 Linux文件系统是从Unix结构 ...