迭代法求x=sqrt(a)

本文介绍了一种使用迭代法计算平方根的方法,并提供了一个具体的C语言实现案例,该程序求解了sqrt(5)的具体值,并与标准库函数进行了对比。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用迭代法求x=sqrt(a),求平方根的迭代公式为:Xn+1=1/2(Xn+a/Xn),要求前后两次求出的x的差的绝对值小于1e-5.

直接给出代码:

#include<stdio.h>
#include<math.h>
#define a 5//求x=sqrt(5);
int main()
{
	int i=0;
	double X1=1,X2;//相当于Xn与Xn+1

	do
	{
		X1=(1.0/2)*(X1+a/X1);
		X2=(1.0/2)*(X1+a/X1);
		printf("第%d次迭代  x1=%9.6f\tx2=%9.6f\n",++i,X1,X2);
	}while (fabs(X2-X1)>=1e-5);

	printf("\n迭代结果:x=%9.6f\t共迭代:%d次\n",X2,i);
	printf("\nsqrt(%d)=%9.6f\n\n",a,sqrt(a));

	return 0;

}
下面给出测试结果:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值