开方的计算步骤:
1、将被开方数的整数部分从个位起向左每隔两位划为一段,用撇号分开(竖式中的11’56),分成几段,表示所求平方根是几位数;
2、根据左边第一段里的数,求得平方根的最高位上的数(竖式中的3);
3、从第一段的数减去最高位上数的平方,在它们的差的右边写上第二段数组成第一个余数(竖式中的256);
4、把求得的最高位数乘以2去试除第一个余数,所得的最大整数作为试商(2×30除256,所得的最大整数是 4,即试商是4);
5、用商的最高位数的2倍加上这个试商再乘以试商.如果所得的积小于或等于余数,试商就是平方根的第二位数;如果所得的积大于余数,就把试商减小再试(竖式中(2×30+4)×4=256,说明试商4就是平方根的第二位数);
6、用同样的方法,继续求平方根的其他各位上的数.
扩展资料:
牛顿迭代法:
上述笔算开方方法是我们大多数人上学时课本附录给出的方法,实际中运算中太麻烦了。可以采取下面办法:
比如136161这个数字,首先找到一个和136161的平方根比较接近的数,任选一个,比方说300到400间的任何一个数,这里选350,作为代表。先计算0.5(350+136161/350),结果为369.5。
再计算0.5(369.5+136161/369.5)得到369.0003,发现369.5和369.0003相差无几,并且369²末尾数字为1。有理由断定369²=136161。
一般来说,能够开方开的尽的,用上述方法算一两次基本结果就出来了。再举个例子:计算
首先发现600²<469225<700²,可以挑选650作为第一次计算的数。即算0.5(650+469225/650)得到685.9。而685附近只有685²末尾数字是5,因此685²=469225。从而
对于那些开方开不尽的数,用这种方法算两三次精度就很可观了,一般达到小数点后好几位。实际中这种算法也是计算机用于开方的算法。
参考资料来源:百度百科-开平方运算
若开平方,可以使用函数sqrt()完成,若开其他次方,可以借助函数pow()完成。开平方示例:
#include<math.h>//sqrt函数使用到的头文件
#include<stdio.h>
int main(void)
{
double x=4.0,result
result=sqrt(x)//对x开平方
printf("%g\n",result)
return 0
}
//输入结果:2
开三次方示例:
#include<math.h>//pow函数使用的头文件
#include<stdio.h>
int main(void)
{
double x=27.0,result
result=pow(x, 1.0/3)//对x开三次方
printf("%g\n",result)
return 0
}
//输出结果:3
对于借助pow函数实现开方的可以借鉴开三次方示例代码。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)