牛顿迭代法求平方根、立方根
2017-05-16 11:25
267 查看
牛顿迭代公式
平方根迭代公式:a(n+1)=( a(n) + num/a(n) )/2,a(0) 初始化为1;立方根迭代公式:a(n+1)=( 2a(n) + num/( (a(n))^2 ) )/3,a(0) 初始化为1;
程序计算过程
#include<iostream> #include<iomanip> #define E 0.0001 using namespace std; double getSqrtRoot(double num) //平方根计算函数 { double x0=1, x1; x1 = (x0 + num / x0) / 2.0; while (fabs(x1 - x0) >= E) { x0 = x1; x1 = (x0 + num / x0) / 2.0; } return x1; } double getCubeRoot(double num) //立方根计算函数 { double x0, x1; x0 = num; x1 = (2 * x0 / 3) + (num / (3 * x0*x0)); while ((x1 - x0>E) || (x1 - x0<-E)) { x0 = x1; x1 = (2 * x0 / 3) + (num / (3 * x0*x0)); } return x1; } int main() { double in; while (cin >> in) { cout << fixed << showpoint << setprecision(1) << getCubeRoot(in) << endl; cout << fixed << showpoint << setprecision(1) << getSqrtRoot(in) << endl; } return 0; }
相关文章推荐
- java 利用牛顿迭代法求平方根和立方根,不使用Math类
- 立方根求解(牛顿迭代法)
- 牛顿迭代法求n的平方根
- 利用牛顿迭代法求平方根
- 华为OJ1964-求解立方根(牛顿迭代法)
- 牛顿迭代法求一个数的立方根、平方根
- 牛顿迭代法求平方根
- 牛顿迭代法求平方根(c++代码)
- 华为OJ1964-求解立方根(牛顿迭代法)
- scala:牛顿迭代法求平方根
- 利用牛顿迭代法求平方根
- 平方根,立方根,阶乘,追赶法(C#)
- 利用牛顿迭代法求平方根
- C语言之基本算法11—牛顿迭代法求平方根
- C++代码实现牛顿迭代法求数的立方根
- 牛顿迭代法,求实数的平方根
- 牛顿迭代法快速寻找平方根
- 牛顿迭代法快速寻找平方根
- 利用牛顿迭代法求平方根
- 牛顿迭代法求平方根