早教吧作业答案频道 -->其他-->
问一个c++迭代法开方的问题:迭代公式就是指用现在的值,代到一个公式里面,算出下一个值再用下一个值代入公式,如此往复地代.公式是x=(x+a/x)/2比如对2开方x=(x+2/x)/2你随便拿一个x=10代入,
题目详情
问一个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{
\x09\x09x0=x1;
\x09\x09x1=(x0+a/x0)/2;
\x09}while(fabs(x0-x1)
迭代公式就是指用现在的值,代到一个公式里面,算出下一个值
再用下一个值代入公式,如此往复地代.公式是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{
\x09\x09x0=x1;
\x09\x09x1=(x0+a/x0)/2;
\x09}while(fabs(x0-x1)
▼优质解答
答案和解析
初值赋值为a/2,可以减少迭代次数
while(fabs(x0-x1)=1e-5)
可以适用非整数
while(fabs(x0-x1)=1e-5)
可以适用非整数
看了问一个c++迭代法开方的问题:...的网友还看了以下:
1.设函数f(x)=x-ln(x+2),证明函数f(x)d[(e^-2)-2,(e^4)-2]内有 2020-04-26 …
用代数式解答根据例式例:已知:x*2+x-1=0求x*3+2x*2+3x*3+2x*2+3=x*3 2020-05-23 …
1.函数y=[lg(4-x)]/(x-3)的定义域为.2.若函数f(x)=2^√(x^2+3x+2 2020-06-06 …
导数相关的题.1.当K取何值时,分段函数:x不等于0时,f(x)=x的k次方乘以sin(1/x), 2020-06-11 …
已知函数f(x)=x的三次方,求证:(1)f(x)×f(y)=f(x+y)(2)f(x)÷f(y) 2020-06-12 …
设f(x)具有二阶连续导数,且f′(0)=0,limx→0f″(x)|x|=1,则()A.f(0) 2020-06-18 …
当x趋向0的时候,[sin6x+xf(x)]/x^3的极限等于0,那[6+f(x)]/x^2的极限 2020-06-22 …
函数f(x)=根号下2-x/x-1的定义域为A,关于x的不等式3的2ax次方小于3的a+x次方(a 2020-06-25 …
①y=x,x=1,y=0②y=根号x,x=4,y=0绕x轴旋转产生的旋转体的体积;③y=x^2,y 2020-06-25 …
下列各式,正确的是() A.(-2x)的3次方=-8x的3次方 B.x²×x²=2x² C.x+x 2020-06-27 …