当前位置: > 问一个c++迭代法开方的问题:...
题目
问一个c++迭代法开方的问题:
迭代公式就是指用现在的值,代到一个公式里面,算出下一个值
再用下一个值代入公式,如此往复地代.公式是x=(x+a/x)/2
比如对2开方
x=(x+2/x)/2
你随便拿一个x=10代入,得x=(10+2/10)/2=5.1
再代进去x=(5.1+2/5.1)/2=2.746
再代入得1.737
再代得1.444
再代得1.414525655
再代得1.414213597
再代得1.414213562
初始不用10,用任一个正数,只要计算几次都可以得到1.414213562这样的结果.
#include
#include
using namespace std;
int main()
{
x09float a,x0,x1;
x09couta;
x09x0=a/2;
x09x1=(x0+a/x0)/2;
x09do
x09{
x09x09x0=x1;
x09x09x1=(x0+a/x0)/2;
x09}while(fabs(x0-x1)

提问时间:2021-03-24

答案
初值赋值为a/2,可以减少迭代次数
while(fabs(x0-x1)=1e-5)
可以适用非整数
举一反三
已知函数f(x)=x,g(x)=alnx,a∈R.若曲线y=f(x)与曲线y=g(x)相交,且在交点处有相同的切线,求a的值和该切线方程.
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
奥巴马演讲不用看稿子.为什么中国领导演讲要看?
想找英语初三上学期的首字母填空练习……
英语翻译
版权所有 CopyRight © 2012-2019 超级试练试题库 All Rights Reserved.