?? exp3_3.cpp
字號:
/*范例:用迭代法編程求a的平方根,求平方根的公式為x(n+1)=(x(n)+a/x(n))/2 ,
要求前后兩次求出的x的差的絕對值小于10負7次方 。
[分析] 迭代法的特點是數列的前后項之間存在固定的關系(公式)。要求目標值,
須從一個近似值出發,利用迭代公式反復計算反復比較,直到目標值符合要求。
本題中,迭代公式為: x(n+1)=(x(n)+a/x(n))/2 ,我們取a/2為平方根的近似值,
利用迭代公式計算,直到|x(n+1)-x(n)|< 10負7次方 。在這里,
x(n+1)-x(n)=(x(n)+a/x(n))/2-x(n)=-(x(n)-a/x(n))/2
fabs為求絕對值的函數。
*/
#include <iostream.h>
#include <math.h>
void main(){
double x, a;
cout <<"please input a value:\n";
cin >>a;
x = a/2;
while(fabs((x-a/x)/2)>1e-7)
x=(x+a/x)/2;
cout <<"The square root of "<<a <<" is "<<x <<endl;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -