1樓:創舊黃
#include
#include
#define eps 1e-6
void main()
x1 = 0;
x0 = a;
dif = a;
while (dif>eps &&n<1000)if (n==1000)
printf("sqrt(%"a,x0,flag==1?'i':'
}就是讓你不用sqrt()這個函式來求平方根而已。
c++高手進——用迭代法求x=根號a.求平方根的迭代公式為x(n+1)=(1/2)*(xn+a/xn)的程式糾錯。
2樓:匿名使用者
求平方根不是用(1/2)相乘就可以的了,可以用到「cmath」標頭檔案裡面的sqrt()函式求出來的。x = sqrt(a), 才表示x 等於 a的開根號。如果不用求開根號的函式的話,可以用pow()實現,a的(1/2)次方就表示x。
後面的 等式 同理。
x(n+1)=(1/2)*(xn+a/xn) 貌似前面的不是乘號,而是表示幾次方。(就是1/2次方)
3樓:匿名使用者
x=(;這一句改一下就可以了,因為1/2=0
用迭代法求x=sqrt(a)(sqrt就是平方根)。 求平方根的迭代公式為:x[n+1]=1/2(x[n]+a/x[n])
編寫程式:用迭代法求x=根號a。
4樓:崇梅宿羅
1.一般來說,迭代法的收斂結果與初值有一定關係,但這裡因為函式x=a^(1/2)
是單調的,所以這裡迭代法的收斂性與初值無關。
2.這裡的初值決定了迭代次數,即初值與求值的速度有關。
感興趣的話,可以看一些「數值分析」「計算方法」有關的書籍。
5樓:匿名使用者
我看不懂啊。公式打清楚一點嘛。或者截圖。
vb 用迭代發迭代法求x= 。求平方根的迭代公式為:
編寫c程式,用迭代法求x=a^(1/2)。求平方根的迭代公式為:xn+1=1/2(xn+a/xn)
6樓:北京豐益肛腸專科醫院
舉個例子,假如你有1000個數字,你要找n。
你可這麼做, 設 x1 = 500, x0 = 1000, 假如 n>x1 那麼 重新設定 x1 = 750, x0 還是500
假如n假如想知道他們用什麼方法算開根號的話。
用來算開根號的是 牛頓法。
7樓:匿名使用者
只要滿足(x0-x1)>1e-5條件的情況下,x1可以隨便取值,x0的值在此題中是不斷變化的,最後(x0-x1)>1e-5的時候程式就停止。這道題也可以用for語句來實現;
float a,i,x0,x1; x0=1;
x1=(x0+a/x0)/2;
for(i=1;i>=1;i++)
8樓:匿名使用者
嗯,的確,只要給x賦一個正值的話就可以達到目的。
用蛛網工作法一目瞭然。
用迭代法求平方根√a
用迭代法求x=根號下a, 迭代公式為 xn+1=xn/2+a/2*xn 詳細解析一下程式
c 用迭代法求立方根,C 用迭代法求立方根?
把 x2 2 3 x1 a 3 x1 x1 改為 x2 2.0 3 x1 a 3 x1 x1 就可以了。編譯器認為2 3是整數除法,結果為0。 華娛創世 例如 include iostream.h include math.h void main if x1 pow a,1 3 cout a 這是我...
求下列各數的算術平方根及平方根,求下列各數的平方根與算術平方根。(1)25 (2)0 (3)0 81 (4)( 10)
愚人 題號 算術平方根 平方根 正負兩個 1 1.5 1.5 1.5 2 17 17 17 3 12 13 12 13 12 13 4 5 3 5 3 5 3 5 負數沒有 負數沒有 6 100 100 100 過路 1 2.25 算術平方根是 1.5 平方根是 1.5 2 289 算術平方根是 1...
求根號16是4為什麼求16的平方根等於2呢
小小芝麻大大夢 根號16是4,16的平方根等於 4,不等於2。平方根,又叫二次方根,表示為 其中屬於非負數的平方根稱之為算術平方根。一個正數有兩個實平方根,它們互為相反數,負數沒有平方根。擴充套件資料平方根表 0 0 表示根號0等於0,下同 1 1 2 1.4142135623731 3 1.732...