迭代法计算平方根

具体的做法如下:

  1. 为了计算数字S的平方根,从选择一个任意的猜测值g开始。一种可能就是将g设为S,尽管也可以选择任何其他的整数值。
  2. 如果猜测值g足够接近正确的平方根,算法结束,函数将g作为结果返回。
  3. 如果g不够精确,用g和S/g的平均值作为新的猜测值。因为这两个值中的一个小于确切的平方根,另一个则大于确切的平均值,                                                      选择平均值会使你得到一个更接近正确答案的值。
  4. 把新的猜测值存入变量g,从第二步开始重复过程、

计算公式如下:

C语言的计算程序如下:

时间: 2024-10-11 13:39:09

迭代法计算平方根的相关文章

24.用牛顿迭代法求平方根

假设a.欲求a的平方根,首先猜测一个值X1=a/2,然后根据迭代公式X(n+1)=(Xn+a/Xn)/2,算出X2,再将X2代公式的右边算出X3等等,直到连续两次算出的Xn和X(n+1)的差的绝对值小于某个值,即认为找到了精确的平方根.例算步骤如下. 1.假设求6的平方根,当Xn和X(n+1)的差值小于0.001时,可以认为已经找到了精确值. 2.根据牛顿迭代法的步骤,首先猜测一个值X1,猜测X1=6/2=3. 求6的平方根:6/2=3 3.将X1=3代入公式X(n+1)=(Xn+a/Xn)/2

牛顿迭代法求解平方根

牛顿迭代法求解平方根 2015-05-16 10:30 2492人阅读 评论(1) 收藏 举报 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 一个实例 迭代简介 牛顿迭代法 牛顿迭代法简介 简单推导 泰勒公式推导 延伸与应用 一个实例 //java实现的sqrt类和方法 public class sqrt { public static double sqrt(double n) { if (n<0) return Double.NaN; double err = 1e

经典算法:牛顿迭代法求平方根

//牛顿迭代法求平方根 1 double mysqrt(double num) 2 { 3 double x = num/2; 4 double y = 0; 5 do{ 6 x = x/2+num/(2*x); 7 y = x*x-num; 8 if(y<0) y = -y; 9 } while(y>0.0001); 10 return x; 11 } 12 int main(int argc, char* argv[]) 13 { 14 printf("%.3f",my

141. Sqrt(x)【牛顿迭代法求平方根 by java】

Description Implement int sqrt(int x). Compute and return the square root of x. Example sqrt(3) = 1 sqrt(4) = 2 sqrt(5) = 2 sqrt(10) = 3 Challenge O(log(x)) 题意:求给定数的平方根,如果用一般的方法,例如二分法之类的,需要考虑一下int型的范围,别溢出.最好的方法时牛顿迭代法.代码如下: public class Solution { /**

利用牛顿迭代法求平方根

求n的平方根,先如果一推測值X0 = 1,然后依据下面公式求出X1,再将X1代入公式右边,继续求出X2…通过有效次迭代后就可以求出n的平方根,Xk+1 先让我们来验证下这个巧妙的方法准确性,来算下2的平方根 (Computed by Mathomatic) 1-> x_new = ( x_old + y/x_old )/2 y (x_old + -----) x_old #1: x_new = --------------- 2 1-> calculate x_old 1 Enter y: 2

软件快速计算平方根与平方根的倒数

#include<iostream> #include<cmath> using namespace std; float Sqrt(float x); float InvSqrt(float x); int main(void) { system("color F0"); cout.setf(ios::fixed); cout.setf(ios::showpoint); cout.precision(10); //快速算法 double result1,res

C语言之基本算法11—牛顿迭代法求平方根

//迭代法 /* ================================================================== 题目:牛顿迭代法求a的平方根!迭代公式:Xn+1=(Xn+a/Xn)/2. ================================================================== */ #include<stdio.h> #include<math.h> main() { float a,x0,x1;

用迭代法求平方根

输入代码: /* *Copyright (c)2014,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:sum123.cpp *作 者:林海云 *完成日期:2014年12月29日 *版 本 号:v2.0 * *问题描述:用迭代法求 .求平方根的迭代公式为: X[n+1]=1/2(X[n]+a/X[n]) 要求前后两次求出的得差的绝对值少于0.00001.输出保留3位小数 *程序输入:整数X *程序输出: X的平方根 */ #include<iostream>

用来计算平方根

公式:  a¡+1 = ( a¡ + n / a¡ ) / 2 介绍: ai :  上一个精度的数 a¡+1 :  下一个精度的数 n :  待计算的数 注释: 这个方法可以获得越来越精确的数值