迭代法求平方根C语言版(1021)

题目描述

用迭代法求 平方根

公式:求a的平方根的迭代公式为: X[n+1]=(X[n]+a/X[n])/2 
要求前后两次求出的差的绝对值少于0.00001。 输出保留3位小数

格式输入/输出

输入格式
X

输出格式
X的平方根

样例输入/输出

样例输入
4
样例输出
2.000

分析

迭代法也称辗转法,是一种不断用变量的旧值递推新值的过程,跟迭代法相对应的是直接法(或者称为一次解法),即一次性解决问题。利用迭代算法解决问题,需要做好以下三个方面的工作:
a.确定迭代变量(本题可设 x[x+1]为x、x1为x[n])
b.建立迭代关系式(本题为 X[n+1]=(X[n]+a/X[n])/2)
c.对迭代过程加以控制(本题为 while(fabs(x-x1)>1E-5))

题解

#include
#include
int main(){
	int a;
	scanf("%d",&a);
	double x=1.0,x1;
	while(fabs(x-x1)>1e-5)//判断结束的条件 
	{
		x1=x;
		x=(x1+a/x1)/2;
	}
	printf("%0.3lf",x);
	return 0;
}

你可能感兴趣的:(C语言网基础算法题,c语言,算法,c++)