牛顿迭代法能够使用函数极限角度无限迭代趋近于某一点理解。
迭代算法解决问题,须要作好3个方面的工做:算法
概念:ide
算法证实:函数
整理:code
定义:ci
还有一个很典型的例子是斐波那契(Fibonacci)数列。斐波那契数列为:0、一、一、二、三、五、八、1三、2一、…,即 fib⑴=0; fib⑵=1;fib(n)=fib(n-1)+fib(n-2) (当n>2时)。
在n>2时,fib(n)总能够由fib(n-1)和fib(n-2)获得,由旧值递推出新值,这是一个典型的迭代关系,因此咱们能够考虑迭代算法。get
int Fib(int n) //斐波那契(Fibonacci)数列 { if (n < 1)/*预防错误*/ return 0; if (n == 1 || n == 2)/*特殊值,无需迭代*/ return 1; int f1 = 1,f2 = 1,fn;/*迭代变量*/ int i; for(i=3; i<=n; ++i)/*用i的值来限制迭代的次数*/ { fn = f1 + f2; /*迭代关系式*/ f1 = f2;//f1和f2迭代前进,其中f2在f1的前面 f2 = fn; } return fn; }
固然 斐波那契数列 得算法岂止一种。
参见 斐波那契数列it