利用迭代求平方根!
using System;
class Test
{
static double GetSqrt(double a)
{
double x = 1.0;
do
{
x = (x + a / x) / 2;
}
while (Math.Abs(x -a/x) > 1e-6);
return x;
}
public static void Main()
{
Console.WriteLine(GetSqrt(2.0));
}
}
请问各位大虾:while (Math.Abs(x -a/x) > 1e-6);
这一句中的条件Math.Abs(x -a/x) > 1e-6是怎么得出来的?
using System;
class Test
{
static double GetSqrt(double a)
{
double x = 1.0;
do
{
x = (x + a / x) / 2;
}
while (Math.Abs(x -a/x) > 1e-6);
return x;
}
public static void Main()
{
Console.WriteLine(GetSqrt(2.0));
}
}
请问各位大虾:while (Math.Abs(x -a/x) > 1e-6);
这一句中的条件Math.Abs(x -a/x) > 1e-6是怎么得出来的?
--------------------------------------------------------
没怎么得来。你可以自己指定个精度。-5-4-3都可以。1e-6常用。
这个得出来的
返回双精度浮点数字的绝对值
循环计算,判断精度,可自定义设置