首页 > [NOIP2001]一元三次方程求解
头像 周花卷
发表于 2020-04-07 11:41:19
这道题的标准解法是使用二分查找,题目给出了如何判定区间内是否有根的提示,即则在之间一定有一个根。 但是如果借助微积分技巧,这道题还可以有另外一种解法。 首先,我们考虑若三次函数在区间存在三个实根,那么该函数在该区间内必定存在两个顶点,即其导数在该区间内有两个实根,其中,我们可以使用一元二次方程求根公 展开全文
头像 pphkaa
发表于 2020-04-11 14:36:33
这道题如果要解出来的话,除了要想到二分,更要想到枚举区间段为1的各部分,然后再注意注意细节就差不多了。 #include<bits/stdc++.h> using namespace std; double a,b,c,d; int ans=0; inline double f(doub 展开全文
头像 savage
发表于 2019-08-29 12:41:15
题目描述 有形如:ax3+bx2+cx+d=0  这样的一个一元三次方程。给出该方程中各项的系数(a,b,c,d  均为实数),并约定该方程存在三个不同实根(根的范围在-100至100之间),且根与根之差的绝对值 ≥ 1。要求由小到大依次在同一行输出这三个实根(根与 展开全文
头像 Hanson_Zhong
发表于 2022-07-26 09:02:42
链接:https://ac.nowcoder.com/acm/problem/16694 https://www.luogu.com.cn/problem/P1024 http://ybt.ssoier.cn:8088/problem_show.php?pid=1238 来源:牛客 展开全文
头像 青笙
发表于 2022-01-16 15:30:21
解决此题的关键在于,如何运用二分法来查找目标值(也就是一元三次方程的解)。我们可以将-100100细化,先对-100100的整数进行遍历,如果方程满足f(x)=0,那么x即为方程的解,如在在整数中无法找到解,那么就要在i和i+1的区间中找,这里我们可以运用二分法来查找。i为首指针,i+1为尾指针,m 展开全文
头像 古力娜扎头发
发表于 2023-03-09 11:16:00
#include<iostream> #include<cmath> using namespace std; double a,b,c,d; double f(double x) { return a*x*x*x+b*x*x+c*x+d; } double bs 展开全文
头像 指令出发
发表于 2023-04-27 16:33:10
有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程。给出该方程中各项的系数(a,b,c,d 均为实数),并约定该方程存在三个不同实根(根的范围在-100至100之间),且根与根之差的绝对值 ≥ 1。要求由小到大依次在同一行输出这三个实根(根与根之间留有空格),并精确到小数点后2位。 提 展开全文

等你来战

查看全部