📄 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 + -