牛顿迭代法求平方根
牛頓迭代法求平方根
1.假設要求6的平方根,當Xn和X(n+1)的差值小于0.000001時,可以認為已經找到了精確值。
2.根據牛頓迭代法的步驟,首先猜測一個值X1,猜測X1=6/2=3。
3.將X1=3代入公式X(n+1)=(Xn+a/Xn)/2,則X2=(X1+6/X1)/2=(3+6/3)/2=2.5,由于3和2.5的差大于0.000001,需要繼續計算。
4.將X2=2.5代入公式X(n+1)=(Xn+a/Xn)/2,則X3=(X2+6/X2)/2=(2.5+6/2.5)/2=2.45,由于2.5-2.45=0.5>0.000001,故需要繼續計算。
...
代碼
#include<stdio.h> #include<math.h>double my_sqrt(double a) {double x0=a/2;double x1=(x0+a/x0)/2;while(fabs(x0-x1)>0.000001){x0=x1;x1=(x0+a/x0)/2;}return x1; }int main() {double a=0.0,x=0.0;scanf("%lf",&a);//雙精度lfx=my_sqrt(a);printf("%lf",x);return 0;}總結
- 上一篇: 基于javaweb项目ssm食品管理系统
- 下一篇: java正则表达式保姆级教程,从小白到高