社区
C语言
帖子详情
一道关于算法的题!(在线等,谢谢!)
zengjianping
2004-04-11 04:33:05
用二分法求解f(x)=x^3-2x-5=0在{2,3)内的实根
要求输出第十到第十五次的划分区间急解
...全文
51
2
打赏
收藏
一道关于算法的题!(在线等,谢谢!)
用二分法求解f(x)=x^3-2x-5=0在{2,3)内的实根 要求输出第十到第十五次的划分区间急解
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
W的永动机
2004-04-11
打赏
举报
回复
太麻烦了把
rorot
2004-04-11
打赏
举报
回复
#include "math.h"
#include "stdio.h"
/*用二法计算非线性方程的实根*/
int BinSearchRoot(a,b,h,eps,x,m)
int m;
/*
a 要求的根的下界
b 要求的根的上界,即:所求的根落在区间 [a,b]之内
h 递进的步长
eps 精度
x 根的值
m 预计的根的个数
*/
double a,b,h,eps,x[];
{
extern double Equation(); /*要求解的非线性方程*/
int n,js;
double z,y,z1,y1,z0,y0;
n=0; z=a; y=Equation(z);
while ((z<=b+h/2.0)&&(n!=m)) /*对给定步长的子区间进行搜索*/
{
if (fabs(y)<eps) /*当前的判定点是方程的根*/
{
n=n+1;
x[n-1]=z;
z=z+h/2.0;
y=Equation(z);
}
else /*当前点不是方程的根*/
{
z1=z+h;
y1=Equation(z1);
if (fabs(y1)<eps) /*下一个点是方程的根*/
{
n=n+1;
x[n-1]=z1;
z=z1+h/2.0;
y=Equation(z);
}
else if (y*y1>0.0) /*该区间内无根*/
{ y=y1; z=z1;}
else /*该区间内有根*/
{
js=0;/*标志,0表示未找到根,1表示已经确定了根*/
while (js==0)
{
if (fabs(z1-z)<eps) /*区间的长度小于给定的精度,可以当作
已经找到了根*/
{
n=n+1;
x[n-1]=(z1+z)/2.0; /*把区间的中位值作为根*/
z=z1+h/2.0; /*把寻找的位置放到下一个区间内*/
y=Equation(z);
js=1; /*在当前区间内已经找到了根*/
}
else /*区间比给定的精度大,则进行二分*/
{
z0=(z1+z)/2.0; /*区间二分*/
y0=Equation(z0);
if (fabs(y0)<eps) /*z0位置为根*/
{
x[n]=z0;
n=n+1;
js=1;
z=z0+h/2.0;
y=Equation(z);
}
else if ((y*y0)<0.0) /*[z,z0]内有根*/
{ z1=z0; y1=y0;}
else { z=z0; y=y0;}
}
}
}
}
}
return(n); /*返回根的个数*/
}
main()
{
int i,n;
static int m=6;
static double x[6];
n=BinSearchRoot(-2.0,5.0,0.2,0.000001,x,m);
printf("M=%d\n",n); /*输出根的个数*/
for (i=0; i<=n-1; i++)
printf("x(%d)=%13.7e\n",i,x[i]);
printf("\n");
}
double Equation(x)
double x;
{
double z;
z=(((((x-5.0)*x+3.0)*x+1.0)*x-7.0)*x+7.0)*x-20.0;
return(z);
}
几个SQL
在线
刷
题
的网站
本文推荐了多个SQL学习及
在线
刷
题
网站,包括适合初学者的SQLZOO和XUESQL,以及提供实战练习的牛客网和LeetCode。这些资源涵盖从基础知识到高级技巧,帮助读者提升SQL技能。
在线
算法
(online algorithm)--竞争性分析
本文深入探讨
在线
算法
中的竞争性分析,特别聚焦于页面置换问
题
。分析确定性和随机
在线
算法
的特性,包括LIFO、LFU、LRU和FIFO
算法
的α-竞争性,以及Marker
算法
的2Hk-竞争性。同时,对比离线最优
算法
,阐述随机
在线
算法
面对Oblivious Adversary时的竞争比下限。
华为OD
在线
OJ
在线
刷
题
使用说明
本文详细介绍如何获取
在线
OJ权限,通过订阅专栏并留言即可解锁。系统支持多种语言评测,包括C、C++、Java、Python等,提供针对性练习,可按难度、分数和卷型选择
题
目,便于优化代码和提升编程技能。
[TYVJ1827][Citric II]
一道
防AK好
题
本文解析了
一道
关于强制
在线
算法
的难
题
,通过巧妙地将问
题
离线处理并逆向求解,实现了高效解答。文章详细介绍了如何利用上一次的答案推导本次答案的方法,提供了一个新颖的视角来解决
在线
算法
问
题
。
C语言
70,038
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章