
用牛顿迭代法求根号3的近似值?麻烦哪位高手给个思路
2个回答
展开全部
求平方根的迭代公式为Xn+1=1/2(Xn+a/Xn);要求前后两次求出的x的差的绝对值小于1e-5;
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
float num,x=1,tmp; //注意迭代开始时x的值为1
cout<<"pls input the number"<<endl;
cin>>num;
do
{
tmp=x;
x=(x+num/x)/2; //迭代求根号值
}while(fabs(x-tmp)>=1e-5); //使用了fabs函数,需要加cmath头文件,注意10的高次方的表达方式
cout<<num<<' '<<x<<endl;
return 0;
}
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
float num,x=1,tmp; //注意迭代开始时x的值为1
cout<<"pls input the number"<<endl;
cin>>num;
do
{
tmp=x;
x=(x+num/x)/2; //迭代求根号值
}while(fabs(x-tmp)>=1e-5); //使用了fabs函数,需要加cmath头文件,注意10的高次方的表达方式
cout<<num<<' '<<x<<endl;
return 0;
}
展开全部
求平方根的迭代公式为Xn+1=1/2(Xn+a/Xn);要求前后两次求出的x的差的绝对值小于1e-5;
#include<iostream>
#include<cmath>
using
namespace
std;
int
main()
{
float
num,x=1,tmp;
//注意迭代开始时x的值为1
cout<<"pls
input
the
number"<<endl;
cin>>num;
do
{
tmp=x;
x=(x+num/x)/2;
//迭代求根号值
}while(fabs(x-tmp)>=1e-5);
//使用了fabs函数,需要加cmath头文件,注意10的高次方的表达方式
cout<<num<<'
'<<x<<endl;
return
0;
}
#include<iostream>
#include<cmath>
using
namespace
std;
int
main()
{
float
num,x=1,tmp;
//注意迭代开始时x的值为1
cout<<"pls
input
the
number"<<endl;
cin>>num;
do
{
tmp=x;
x=(x+num/x)/2;
//迭代求根号值
}while(fabs(x-tmp)>=1e-5);
//使用了fabs函数,需要加cmath头文件,注意10的高次方的表达方式
cout<<num<<'
'<<x<<endl;
return
0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询