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

C语言应用实例:解方程(二分查找)

一、题目

给定方程 8∗x4+7∗x3+2∗x2+3∗x+6==y,请计算 x 在 [0,100] 范围内的解。

要求:输入数据首先是一个正整数 T (1<=T<=100),表示有 T 组测试数据。
接下来 T 行,每行包含一个实数 Y (∣Y∣<=1e10)。

请计算并输出方程在范围 [0,100] 内的解,结果精确到小数点后 4 位。
如果无解,则请输出“No solution!”。

二、题解

作为一个正常人,我们最先想到的一定是暴力求解

但需要注意的是,题目要求精确到四位小数

那么计算量便会直线飙升

此时我们便可以使用二分查找的方法

简单来说就是,取定义域中值mid,和y比大小,如果mid大则缩小定义域右边界为mid,反之则赋值左边界为mid

代码如下

 double left = 0, right = 100;double mid, result;+6// 二分精度控制到1e-8,确保结果精确到小数点后4位while (right - left > 1e-8) {mid = (left + right) / 2;result = f(mid);if (fabs(result - y) < 1e-8) {break;}if (result < y) {left = mid;} else {right = mid;}}

这就是本题的核心算法

三、完整代码

#include <stdio.h>
#include <math.h>// 定义方程函数
double f(double x) {return 8*pow(x,4) + 7*pow(x,3) + 2*pow(x,2) + 3*x + 6;
}int main() {int T;scanf("%d", &T);while (T--) {double y;scanf("%lf", &y);// 检查y是否在函数值范围内if (y < f(0) || y > f(100)) {printf("No solution!\n");continue;}// 二分法求解double left = 0, right = 100;double mid, result;+6// 二分精度控制到1e-8,确保结果精确到小数点后4位while (right - left > 1e-8) {mid = (left + right) / 2;result = f(mid);if (fabs(result - y) < 1e-8) {break;}if (result < y) {left = mid;} else {right = mid;}}// 输出结果,保留4位小数printf("%.4lf\n", mid);}return 0;
}

http://www.dtcms.com/a/574591.html

相关文章:

  • t想学网站建设石家庄专业建站公司
  • 基础数据结构之数组的双指针技巧之对撞指针(两端向中间):三数之和(LeetCode 15 中等题)
  • 网站鼠标悬停动态效果代码网站一个月
  • ASP.NET网站建设实战网络推广的方式有哪些?
  • 防止缓存穿透
  • 防火墙培训
  • 李宏毅机器学习笔记40
  • 网站开发甲方需求文档华为手机网络营销方式
  • 许昌旅游网站建设现状室内设计师联盟网站
  • 做公众号排版的网站常见的网络营销形式有哪些
  • AXI总线专题-AXI转SPI(接口)
  • 甘肃兴华建设集团网站怎么搭建一个视频网站
  • 珠海手机网站建设公司wordpress 数据库 备份
  • wordpress可以卸载360网站seo手机优化软件
  • 南山区住房和建设局网站莱芜都市网二手车租车
  • 中国建设银行网站查询密码是什么意思网站子页面怎么做的
  • 企业手机网站建设方案怎么自己建设一个网站
  • 集群网络技术2:流量控制与拥塞管理PFC ECN/DCQCN
  • 制作类网站哪里做网络推广
  • Spring Boot中使用Quartz实现动态定时任务
  • 2.4 python装饰器在 Web 框架和测试中的实战应用
  • 从容器化到自动化:Spring Boot 项目 Docker 部署与 GitLab CI/CD 集成 Harbor 全流程
  • 基于springboot的web的音乐网站开发与设计
  • AIIData数据中台商业版+开源版双模式
  • 音画同步革命:IndexTTS2深度解析——B站开源的情感化+时长可控TTS新标杆
  • 如果做淘宝网站wordpress 七牛视频播放
  • 成都模版网站制作网站建设项目结构分析
  • Transformer原理与过程详解
  • 迷你主机做网站c语言开发网站
  • 水利建设相关网站百度手机版下载