网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
01月04日
漏签
0
天
洛阳二十六中静思班吧
关注:
21
贴子:
2,388
看贴
图片
吧主推荐
游戏
11
回复贴,共
1
页
<<返回洛阳二十六...吧
>0< 加载中...
【静思·非水】【算法】有关二分法的讨论
只看楼主
收藏
回复
eslzzyl
名震江湖
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
老同学们大家好,这里是某个刚开始放寒假的辣鸡
前两天难得作业少,翻了翻刚发的《数学 必修3》,在久仰的算法一章得到了启发,想到一种用二分法求平方根的算法,立即用计算器检验了一下,证明可行。
下午捣鼓了一会,搞出个小程序把算法自动化了,来发一贴,正经地讨论一下二分法这个奇妙的东西。
eslzzyl
名震江湖
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
对于没看过“算法”一章的同学,可以先自学《数学 必修3》第一章“算法初步”。
有关二分法的基本介绍在《数学 必修1》已经给出,在此不再赘述。
这个用二分法求平方根(确切地说是求算数平方根)的方法通过不断地平分、比较数字来逼近一个已知数字的算术平方根,自认为效率还是可以的。
eslzzyl
名震江湖
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
这里给出了此程序的流程图。
PS 第一次画流程图,手法比较拙劣,请见谅。
eslzzyl
名震江湖
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
下面举个例子,可以结合上面的流程图来看。
比如要计算37的算术平方根,首先将37除以2:
37/2=18.5
比较18.5^2(即18.5的平方)与37的大小关系,发现
18.5^2>37
于是再将18.5除以2:
18.5/2=9.25
发现9.25^2仍大于37,于是再将其除以2:
9.25/2=4.625
好了,4.625小于37了,此时取4.625和9.25的平均值,得到6.9375。
事实上,之前的几次除以2的运算是在计算那些数字和0的平均值。
现在比较发现6.9375^2>37
于是再计算4.625和6.9375的平均值,得到5.78125
发现5.78125^2<37
于是计算5.78125和6.9375的平均值
以此类推,你会发现这一大一小两个数字之间的范围不断缩小。,最终逼近的数就是37的算术平方根。
eslzzyl
名震江湖
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
于是我们有程序:
long a;
double b,c,d;
char ch;
while(1)
{
printf("输入要开方的数:");
scanf("%d",&a);
b=0;
c=a;
while(1)
{
if((c-b)<=E)
break;
d=(b+c)/2.0f;
if(d*d>a)
{
c = d;
continue;
}
if(d*d<a)
{
b = d;
continue;
}
}
printf("\n%f\n",(c+b)/2);
printf("是否继续?(y/n)\n");
ch=getch();
if(ch=='y' || ch=='Y')
continue;
if(ch!='y' && ch!='Y')
break;
}
eslzzyl
名震江湖
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
程序效果如图,速度很可观,完全是秒出。
之前手动用计算器检验这个方法时可是用了整整一节课啊
eslzzyl
名震江湖
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
事实上,二分法的应用非常广泛。二分法可以用来解一些简单的一次方程,而且可以直接跳过移项中复杂的恒等式变形。
构思了一种可能可用于计算对数的算法
比如我要算ln5
就是解关于x的方程
e^x=5
显然可以用二分法计算x的近似值,从而得到ln5的近似值
而log无非是两个ln的比值。
二分法的一个缺点是对有2个或更多个根的方程(也可以说是在规定区间内没有单调性)会比较无力,这是二分法的原理决定的。事实上,对二分法最友好的是在规定的区间内具有单调性的函数(方程)。
eslzzyl
名震江湖
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
先到这里,之后我可能会做一些其他的东西来充实贴子。
计算平方根的算法很多,现在比较常用的是牛顿迭代法,但那玩意要用到导数的知识,现在看比较**。剩下的就都是高等数学的解法了。
在此向我又怕(上了高中数学几乎没上过100
)又爱的数学致敬。
卐青青子衿卍
无名之辈
2
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
强,真的强
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示