编写程序:用迭代法求x=根号a。 求平方根的迭代公式为Xn+1=1/2(Xn+a/Xn) 20

编写程序:用迭代法求x=根号a。求平方根的迭代公式为Xn+1=1/2(Xn+a/Xn),要求前后两次求出的x的差的绝对值小于10的负7次方。#include<cmath>... 编写程序:用迭代法求x=根号a。
求平方根的迭代公式为Xn+1=1/2(Xn+a/Xn),要求前后两次求出的x的差的绝对值小于10的负7次方。
#include<cmath>
using namespace std;
double f(double n);
int main()
{
double a;
do{
cout<<"输入非负数";
cin>>a;
}while(a<0);
cout<<f(a);
return 0;
}

double f(double n)
{
double m,v;
if(n<=1)
m=1;
else
do{
v=f(n-1);
m=(v+n/v)/2;
} while(fabs(m-v)>=10E-7);
return m;
}
哪里有问题,绝对值>=10E-7有什么作用

do {
x=y;
y=(x+a/x)/2;
} while (fabs(y-x)>1e-7);
这是怎么实现迭代的
展开
 我来答
源雨筠Tv
2017-09-17 · TA获得超过831个赞
知道小有建树答主
回答量:1249
采纳率:0%
帮助的人:448万
展开全部
# include <stdio.h>
# include <math.h>
main()
{
double m,n=1.0,a;

printf("请输入a:");
scanf("%lf",a);
do
{
m=n;
n= (m + a/m) / 2;
}
while(fabs(n-m)>1e-5);
printf("结果为:%7.5f\n",n);
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式