1. 程式人生 > >湖北民族學院 OJ HBMY 1107: 利用牛頓方法計算正數的平方根

湖北民族學院 OJ HBMY 1107: 利用牛頓方法計算正數的平方根

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的乘積時程式終止。

來源or型別

C語言實驗6-迴圈

 

 

#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);
}