社区
C语言
帖子详情
一道关于算法的题!(在线等,谢谢!)
zengjianping
2004-04-11 04:33:05
用二分法求解f(x)=x^3-2x-5=0在{2,3)内的实根
要求输出第十到第十五次的划分区间急解
...全文
26
2
打赏
收藏
一道关于算法的题!(在线等,谢谢!)
用二分法求解f(x)=x^3-2x-5=0在{2,3)内的实根 要求输出第十到第十五次的划分区间急解
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ITZHIHONH
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);
}
算法
实现:Java单链表逆序
有一次,我去陆家嘴一家银行面试,面试官给我出了
一道
算法
编程
题
,用Java实现单链表逆序,不到10分钟,我就写出来了,拿到了offer。 但是当时是写在纸上的,我用手机拍了下来,然后回去又在电脑上把代码敲了下来,运行,完全正确! 今天我把这个
算法
代码分享出来,希望能帮助到更多的朋友,
谢谢
大家。
算法
题
做到崩溃?刷了几千道
算法
题
,关于如何刷
题
有些话我想对你说
算法
刷到最后,最后记在脑子里的不是代码,是思路,如果你有思路,那你一定能把代码写出来,你不可能记住所有
题
的代码,唯一可以记住的是解
题
思路,所以怎么码代码不是一个问
题
,怎么解
题
才是一个问
题
,建议刷
题
的时候这样刷,看到
一道
题
,先想想怎么解,如果是你的话你会用什么方法去解,想好了以后用代码实现一遍,看能不能行,一般把想法用代码实现后,你的代码跑不通,90%以上的原因不是你的编程问
题
,而是你的思路在某个点...
Re: 一著名软件公司的java笔试
算法
题
!
主
题
: Re: 一著名软件公司的java笔试
算法
题
!
挑战坚持每天写
算法
题
一个月
目录 前言 2021-10-8
题
目 合并两个有序数组 解
题
思路 代码 其他思路 前言 因为最近参加了csdn的一个大博主的活动,坚持每天写写力扣
算法
题
一个月,我觉得这个活动很有意义,因为每天能写
一道
算法
题
很容易,但是坚持一周呢?一个月呢?一年呢?能坚持的人少之又少,但是如果坚持每天写几道
算法
题
并坚持很久,也是会有很大的收获的,为了自己的目标,我们冲就完事!!! 顺便给大佬
谢谢
这个大佬提供这个机会!! 大家也可以去大佬的博客看看干货!!! 向大佬学习!! 2021-10..
Java基础
算法
题
这九道
题
型是Java入门小白最基础的
算法
题
, 包含了力扣
算法
题
及大厂面试
题
, 是在学习对象之前最适合练手的
题
型,特别是最后
一道
几乎包括了前面的基本语法,掌握了最后
一道
基本上也拿下了前面基础语法的学习.
C语言
70,021
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章