怎样速算平方根?
5个回答
展开全部
举个例子说:计算79的平方根
先取一个数,比如9,9的平方是81,大了,那么再取一个小一点的数8.8的平方是64,所以79 的平方根介于8和9之间。
要是计算大数的平方根,比如986727
一般来说,其平方根的位数都是该数位数的一半,如果该数位数是奇数,那么首位要是很大,其平方根可能是其位数+1的一半,如果首位数较小,则是位数-1 的一半,我这么说你能明白吗??取前两位数,估计其平方根的首位数,比如本例中前两位是98,那么我估计其平方根的首位数是9,依次类推,具体做法和上面的例子一样,不停的试,其实就是这么估计出来的。
算了,大数你还是用计算器吧
先取一个数,比如9,9的平方是81,大了,那么再取一个小一点的数8.8的平方是64,所以79 的平方根介于8和9之间。
要是计算大数的平方根,比如986727
一般来说,其平方根的位数都是该数位数的一半,如果该数位数是奇数,那么首位要是很大,其平方根可能是其位数+1的一半,如果首位数较小,则是位数-1 的一半,我这么说你能明白吗??取前两位数,估计其平方根的首位数,比如本例中前两位是98,那么我估计其平方根的首位数是9,依次类推,具体做法和上面的例子一样,不停的试,其实就是这么估计出来的。
算了,大数你还是用计算器吧
展开全部
假设被开放数为a,如果用sqrt(a)表示根号a 那么((sqrt(x)-sqrt(a/x))^2=0的根就是sqrt(a)
变形得
sqrt(a)=(x+a/x)/2
所以你只需设置一个约等于(x+a/x)/2的初始值,代入上面公式,可以得到一个更加近似的值,再将它代入,就得到一个更加精确的值……依此方法,最后得到一个足够精度的(x+a/x)/2的值。
如:计算sqrt(5)
设初值为2
1)sqrt(5)=(2+5/2)/2=2.25
2)sqrt(5)=(2.25+5/2.25)/2=2.236111
3)sqrt(5)=(2.236111+5/2.236111)/2=2.236068
这三步所得的结果和sqrt(5)相差已经小于0.001
或者可以用二分法:
设f(x)=x^2-a
那么sqrt(a)就是f(x)=0的根。
你可以先找两个正值m,n使f(m)<0,f(n)>0
根据函数的单调性,sqrt(a)就在区间(m,n)间。
然后计算(m+n)/2,计算f((m+n)/2),如果它大于零,那么sqrt(a)就在区间(m,(m+n)/2)之间。
小于零,就在((m+n)/2,n)之间,如果等于零,那么(m+n)/2当然就是sqrt(a)。这样重复几次,你可以把sqrt(a)存在的范围一步步缩小,在最后足够精确的区间内随便取一个值,它就约等于sqrt(a)。
变形得
sqrt(a)=(x+a/x)/2
所以你只需设置一个约等于(x+a/x)/2的初始值,代入上面公式,可以得到一个更加近似的值,再将它代入,就得到一个更加精确的值……依此方法,最后得到一个足够精度的(x+a/x)/2的值。
如:计算sqrt(5)
设初值为2
1)sqrt(5)=(2+5/2)/2=2.25
2)sqrt(5)=(2.25+5/2.25)/2=2.236111
3)sqrt(5)=(2.236111+5/2.236111)/2=2.236068
这三步所得的结果和sqrt(5)相差已经小于0.001
或者可以用二分法:
设f(x)=x^2-a
那么sqrt(a)就是f(x)=0的根。
你可以先找两个正值m,n使f(m)<0,f(n)>0
根据函数的单调性,sqrt(a)就在区间(m,n)间。
然后计算(m+n)/2,计算f((m+n)/2),如果它大于零,那么sqrt(a)就在区间(m,(m+n)/2)之间。
小于零,就在((m+n)/2,n)之间,如果等于零,那么(m+n)/2当然就是sqrt(a)。这样重复几次,你可以把sqrt(a)存在的范围一步步缩小,在最后足够精确的区间内随便取一个值,它就约等于sqrt(a)。
参考资料: http://zhidao.baidu.com/question/978908.html?si=1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用计算器
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
计算器
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询