湖北民族學院 OJ HBMY 1107: 利用牛頓方法計算正數的平方根
阿新 • • 發佈:2018-11-10
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型別
#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); }