当前位置: 首页 > news >正文

题解:洛谷 P1024 [NOIP 2001 提高组] 一元三次方程求解

【题目来源】

洛谷:[P1024 NOIP 2001 提高组] 一元三次方程求解 - 洛谷

【题目描述】

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

提示:记方程 \(f(x)=0\),若存在 \(2\) 个数 \(x_1\)\(x_2\),且 \(x_1\lt x_2\)\(f(x_1)\times f(x_2)\lt 0\),则在 \((x_1,x_2)\) 之间一定有一个根。

【输入】

一行,\(4\) 个实数 \(a,b,c,d\)

【输出】

一行,\(3\) 个实根,从小到大输出,并精确到小数点后 \(2\) 位。

【输入样例】

1 -5 -4 20

【输出样例】

-2.00 2.00 5.00

【解题思路】

image

【算法标签】

《洛谷 P1024 一元三次方程求解》 #数学# #二分# #枚举# #分治# #NOIP提高组# #2001#

【代码详解】

#include <bits/stdc++.h>
using namespace std;// 全局变量:
// mark: 记录已找到的实根数量
// a, b, c, d: 三次方程的系数
// x: 临时变量(未使用)
int mark = 0;
double a, b, c, d, x;/*** 计算三次函数在x处的值* @param x 自变量值* @return 函数值*/
double f(double x)
{return a * x * x * x + b * x * x + c * x + d;
}/*** 使用二分法在区间[l, r]内查找函数的根* @param l 区间左端点* @param r 区间右端点*/
void find(double l, double r)
{// 当区间长度小于0.001时,输出右端点作为近似解if (r - l < 0.001){printf("%.2f ", r);return;}double mid = (l + r) / 2;// 如果中点恰好是根,直接输出if (f(mid) == 0){printf("%.2f ", mid);return;}// 根据函数值符号变化决定搜索方向if (f(l) * f(mid) < 0){find(l, mid);  // 在左半区间继续搜索}else{find(mid, r);  // 在右半区间继续搜索}
}int main()
{// 输入三次方程的系数cin >> a >> b >> c >> d;// 在[-100, 100]范围内搜索实根for (double i = -100; i <= 100 && mark != 3; i++){// 如果i恰好是根,直接输出if (f(i) == 0){printf("%.2f ", i);mark++;continue;}// 如果在[i, i+1]区间内有根,则进行二分查找if (f(i) * f(i + 1) < 0){find(i, i + 1);mark++;}}return 0;
}

【运行结果】

1 -5 -4 20
-2.00 2.00 5.00
http://www.jsqmd.com/news/390078/

相关文章:

  • 题解:洛谷 P2249 【深基13.例1】查找
  • 信任就是最好的协作:openclaw的系统提示词分析
  • AI大模型高薪方向揭秘:大模型时代,小白也能弯道超车?高薪收藏帖+90天转型路线图免费领!
  • 大模型国家标准落地,大模型应用指南:小白也能掌握的金融科技新趋势,收藏学习必备!
  • 阿里通义千问团队揭秘Gated Attention,让你的大模型学习效率飙升,速收藏!
  • 从DeepSeek到Seedance2.0,大模型集体爆发!国产AI突然跃迁,小白也能轻松上车收藏!
  • 2026大学生转行,推荐一个好就业的方向——人工智能大模型,开启高薪就业新赛道!
  • 【Hot100-Java便捷】:两数之和 (Two Sum) —— 从暴力枚举到哈希表的思维跃迁
  • 键盘与鼠标:人机交互的奥秘深度解析:原理、实战与踩坑记录
  • OpenClaw怎么做到不串台、能并行、还总回对群 amp;#129302;✅(含源码解析)--OpenClaw系列第1期
  • GLM5.0发布:国产算力突破,大模型进化为智能工作系统,速来收藏学习!
  • AI产品经理转行大模型必读,央视都说AI大模型人才缺口大,为什么大家还是找不到工作?
  • Transformer大模型从入门到进阶:25+核心知识点解析(收藏版)
  • 2026主流电商小程序平台深度测评:功能优势与适用场景全解析
  • 论文阅读“EFFICIENT VISION-LANGUAGE-ACTION MODELS FOR EMBODIED MANIPULATION: A SYSTEMATIC SURVEY“
  • 【GitHub项目推荐--pySLAM:开源、模块化、可扩展的视觉SLAM框架】⭐⭐⭐⭐⭐
  • 当一家公司拥有37,000个智能体:科技投资公司企业AI治理实验
  • 在线图片压缩工具怎么选?几款免费好用的网站对比
  • 【GitHub项目推荐--ORB-SLAM2:开源实时视觉SLAM系统】
  • SpringBoot集成SpringAI与Ollama本地大模型
  • 深入解析:【开题答辩全过程】以 基于微信小程序的医疗物资进销存管理为例,包含答辩的问题和答案
  • 【Python】【机器学习】线性回归
  • 【Python】【机器学习】十大算法简介与应用
  • GitHub 热榜项目 - 日榜(2026-02-17)
  • 大模型开发 - 手写Manus之Sandbox执行代码:03 用Docker为AI Agent打造安全沙箱
  • C# 调用 Lua 完整技术文档
  • 叙事响应:《当预言泛起涟漪——碳硅智能时代的叙事开篇》
  • 【分享】《四十岁才是青春》-别人的四十岁创业史
  • 启蒙灯塔起源团预言—碳硅智能时代到来
  • 2026年测量仪口碑推荐:探寻行业佼佼者,扭矩仪/检测仪/试验机/测量仪/热封仪/测厚仪,测量仪供应商推荐排行 - 品牌推荐师