P1024 一元三次方程求解

news/2025/2/16 5:02:31/

题目链接:

方法一、二分

因为区间很大,所以可以二分。
三个答案都在 [ − 100 , 100 ] [-100,100] [100,100]范围内,两个根的差的绝对值 ⩾ 1 \geqslant1 1,保证了每一个大小为 1 1 1的区间里至多有 1 1 1个解,也就是说当区间的两个端点的函数值异号时区间内一定有一个解,同号时一定没有解。那么我们可以枚举互相不重叠的每一个长度为 1 1 1的区间,在区间内进行二分查找。

#include <bits/stdc++.h>using namespace std;
double a, b, c, d, l, r, mid;
double f(double x) {return a * x * x * x + b * x * x + c * x + d;
}
int main()
{int cnt = 0;cin >> a >> b >> c >> d;for (int i = -100; i <= 99; i++) {l = i, r = i + 1;if (!f(l)) { printf("%.2f ", l);cnt ++;//解的数量增加一个}//判断左端点,是零点直接输出//不能判断右端点,会重复if (f(l) * f(r) < 0) {while (r - l > 1e-4) {   //控制精度mid = (l + r) / 2;if (f(l) * f(mid) <= 0) r = mid; else l = mid;}printf("%.2f ", l);cnt ++;}if (cnt == 3) break; //出现3个根直接break掉}return 0;
}

方法二、暴力枚举

#include <bits/stdc++.h>using namespace std;int main()
{double a, b, c, d;cin >> a >> b >> c >> d;for (double i = -100; i <= 100; i += 0.001) // 由于题目要求精确到两位小数,于是逐步递增0.001{double j = i + 0.001;double y1 = a * i * i * i + b * i * i + c * i + d;double y2 = a * j * j * j + b * j * j + c * j + d;if (y1 >= 0 && y2 <= 0 || y1 <= 0 && y2 >= 0){double x = (i + j) / 2;printf("%.2f ",x);}}
}

http://www.ppmy.cn/news/1026439.html

相关文章

Jay17 2023.8.12日报

8.12 今天做了2题&#xff0c;CTFshow 红包挑战8&#xff08;PHP create_function()&#xff09;和BUU [RoarCTF 2019]Easy Java&#xff08;web.xml泄露&#xff09;。 此外一直在打NepCTF&#xff0c;出了一题&#xff08;ez_java_checkin&#xff09;简单了解了java中shri…

深入理解Linux内核--虚拟文件

虚拟文件系统(VFS)的作用 虚拟文件系统(Virtual Filesystem)也可以称之为虚拟文件系统转换(Virtual Filesystem Switch,VFS), 是一个内核软件层&#xff0c; 用来处理与Unix标准文件系统相关的所有系统调用。 其健壮性表现在能为各种文件系统提供一个通用的接口。VFS支持的文件…

如何快速的让自己从月入2000变成月入两万?

从月入2000变成月入两万 前言我们可以这么做&#xff1a;1.提升自己的技能&#xff1a;2.寻找更好的工作机会&#xff1a;寻找更好的工作机会是一个重要的目标&#xff0c;以下是几个建议&#xff1a; 3.开展副业或兼职工作&#xff1a;4.创业或投资&#xff1a;5.构建个人品牌…

腾讯云CVM服务器竞价实例是什么?和按量计费有什么区别?

腾讯云服务器CVM计费模式分为包年包月、按量计费和竞价实例&#xff0c;什么是竞价实例&#xff1f;竞价实例和按量付费相类似&#xff0c;优势是价格更划算&#xff0c;缺点是云服务器实例有被自动释放风险&#xff0c;腾讯云服务器网来详细说下什么是竞价实例&#xff1f;以及…

预测知识 | 预测技术流程及模型评价

预测知识 | 预测技术流程及模型评价 目录 预测知识 | 预测技术流程及模型评价技术流程模型评价参考资料 技术流程 1&#xff09;模型训练阶段&#xff1a;预测因素和结局&#xff0c;再加上预测模型进行模型拟合&#xff1b; 2&#xff09;预测阶段&#xff1a;将预测因素代入拟…

Java | 字符串

目录 一、String类 1.1 声明字符串 1.2 创建字符串 二、连接字符串 2.1 连接多个字符串 2.2 连接其他数据类型 三、获取字符串信息 3.1 获取字符串长度 3.2 字符串查找 3.3 获取指定索引位置的字符 四、字符串操作 4.1 获取字符串 4.2 去除空格 4.3 字符串替换 …

Java线程池的类型和使用

Java线程池的类型和使用 引言 在并发编程中&#xff0c;线程池是一种非常重要的工具&#xff0c;它可以实现线程的复用&#xff0c;避免频繁地创建新线程&#xff0c;从而提高程序的性能和效率。Java的并发库提供了丰富的线程池功能&#xff0c;本文将介绍Java线程池的类型和…

佛祖保佑,永不宕机,永无bug

当我们的程序编译通过&#xff0c;能预防的bug也都预防了&#xff0c;其它的就只能交给天意了。当然请求佛祖的保佑也是必不可少的。 下面是一些常用的保佑图&#xff1a; 佛祖保佑图 ——————————————————————————————————————————…