计算平方根的格式计算

欢迎加入我们,一同切磋技术。 &
用户名: &&&
密 码: &
共有 5325 人关注过本帖
标题:解释一下计算数字N的平方根的巴比伦算法
等 级:论坛游民
帖 子:16
专家分:55
结帖率:100%
&&已结贴√
&&问题点数:20&&回复次数:4&&&
解释一下计算数字N的平方根的巴比伦算法
在书上看到一道题,看不懂啥意思,解释一下,
(1)先猜一个答案guess(可以将n/2作为第一个答案)
(2)计算r=n/guess
(3)令guess=(guess+r)/2
(4)如有必要返回第2步重复多次。步骤2和步骤3的重复次数越多, guess就越接近n的平方根。
写一个程序,输入整数作为n的值,重复执行巴比伦算法,直到guess与前一个guess的误差在1%范围内,将答案作为一个double输出
搜索更多相关主题的帖子:
&&&&&&&&&&
等 级:论坛游民
帖 子:44
专家分:36
等 级:职业侠客
帖 子:167
专家分:386
大概就是这样吧。
int main(int argc, char **argv)
&&& int n = 0;
&&& scanf(&%d&, &n);
&&& double guess = n / 2;
&&& double tmp =
&&& while(true)
&&&&&&&&double r = n /
&&&&&&&&guess = (guess + r) / 2;
&&&&&&&&if(abs(tmp - guess) / tmp & 0.001)
&&&&&&&&&&&&
&&&&&&&&tmp =
&&& printf(&%lf&, guess);
&&& system(&pause&);
[ 本帖最后由 zisefengye 于
21:40 编辑 ]
来 自:北京
等 级:贵宾
威 望:94
帖 子:6779
专家分:16751
&&得分:20&
楼主是想知道这个算法为什么对吧?那是个数学问题。
这题可以这么看,已知 a^2 ,求 a 的运算就是开方对吧?
现在把 (3) guess=(guess+r)/2 看成一系列迭代的过程,那么就是
xn+1 = (xn + r) / 2 = (xn + a^2 / xn) / 2
这里把 N 记成 a^2 是为了方便。你自己一推就会了,高中甚至初中的知识就足矣。
你把 2 乘过去,两边再同乘 xn (当然假设它不为0,否则 0 的平方根不用求)整理一下就会变成
xn^2 - 2xn+1 - a^2 = 0
如果 xn 在这个变化下趋一于一个定值 x 那么,x 代到上面也一定满足,即
x^2 - 2x - a^2 = 0&&&==&&&(x-a)^2 = 0&&==& x = a
就能做到反求 a 的目的。
但 xn 的变化趋一于一个定值吗?
因为 x + n / x 在 a 的两侧是单调的。所以每次算完了都会更接近 a 这个值。(我范点懒,不过确实相信应该)可以证明这个数列在给定任意非零初值之后,会收敛到 a 上。
等 级:论坛游民
帖 子:16
专家分:55
回复 2楼 aizuoai123
c++面向对象程序设计
版权所有,并保留所有权利。
Powered by , Processed in 0.048288 second(s), 7 queries.
Copyright&, BCCN.NET, All Rights Reserved在线计算器欢迎在线使用
计算器俗称“电子计算器”,用于进行统计计算和科学计算,不仅可进行加、减、乘、除等简单的四则运算,也可以进行开方计算,并且提供了累存和积存功能。
使用简单方便。
简单计算:四则运算、倒数等基础运算。
函数计算:正切、余切、正切等函数运算。
科学计算:可进行函数、对数运算,以及阶乘、幂运算等。
数制的转换:可进行十进制、二进制、八进制、十六进制整数的相互转换。
说明:加(+)、减(-)、乘(*)、除(/)、平方(x^2)、立方(x^3)、N次方(x^y)、开方根号(sqrt)、百分数(%)、倒数(1/x)等简单算术计算。
& CopyRight 2012, , All Rights Reserved. 豫ICP备号平方根练习题_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
平方根练习题
阅读已结束,下载文档到电脑
想免费下载本文?
定制HR最喜欢的简历
你可能喜欢Python中利用sqrt()方法进行平方根计算的教程
投稿:goldensun
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了Python中利用sqrt()方法进行平方根计算的教程,是Python学习的基础知识,需要的朋友可以参考下
&sqrt()方法返回x的平方根(x&0)。
以下是sqrt()方法的语法:
import math
math.sqrt( x )
注意:此函数是无法直接访问的,所以我们需要导入math模块,然后需要用math的静态对象来调用这个函数。
&&& x -- 这是一个数值表达式。
此方法返回x的平方根,对于x&0。
下面的例子显示了sqrt()方法的使用。
#!/usr/bin/python
import math
# This will import math module
print "math.sqrt(100) : ", math.sqrt(100)
print "math.sqrt(7) : ", math.sqrt(7)
print "math.sqrt(math.pi) : ", math.sqrt(math.pi)
当我们运行上面的程序,它会产生以下结果:
math.sqrt(100) : 10.0
math.sqrt(7) : 2.
math.sqrt(math.pi) : 1.
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具}

我要回帖

更多关于 计算平方根的格式 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信