版权声明:欢迎转载,如果转载,请注明转载地址,谢谢! https://blog.csdn.net/qq_40763929/article/details/83903729
2017级 计算机科学与技术 袁壮苗
题目描述
编写程序,用牛顿方法计算正数的平方根。
设x是输入的数。牛顿方法需要先给出x平方根的猜测值y(例如y取1)。后续的猜测值通过计算y和x/y的平均值得到。
例如:求解3的平方根的过程
x y x/y y和x/y的平均值 3 1 3 2 3 2 1.5 1.75 3 1.75 1.71429 1.73214 3 1.73214 1.73196 1.73205 3 1.73205 1.73205 1.73205 注意,y的值逐渐接近x的平方根。当y的新旧值之差的绝对值小于0.000001和y的乘积时程序终止。
输入描述
输入一个正数。
输出描述
输出所求的平方根,保留6位小数。
输入样例
3
输出样例
1.732051
提示
是求正数的平方根,因此输入应该定义为double类型。输出的应该是y。
注意:当y的新旧值之差的绝对值小于0.000001和y的乘积时程序终止。
扫描二维码关注公众号,回复: 4005008 查看本文章来源or类型
#include <stdio.h>
#include <math.h>
int main () {
double x,y,j;
scanf("%lf",&x);
y=1;
j=(y+(x/y))/2;
while (fabs(y-j)>=0.000001*y) {
y=j;
j=(y+(x/y))/2;
}
printf("%f\n",y);
}