wpcockroach

导航

2009年3月14日 #

求Fibonacci数的几种方法

摘要: 先给出Fibonacci的定义:简单地总结了下,至少有5中方法来求Fibonacci(n)。直接带公式简单递归循环改进的递归使用矩阵这里主要介绍下如何用矩阵来求F(n)。直接公式简单递归int Fibonacci(int n){ if (1 >= n) return n; else return Fibonacci(n – 1) + Fibonacci(n – 2);} 循环int Fibonacci(int n){ int fib_n1 = 0, fib_n2 = 1; int fib_n; if (n <= 1) return n; for (int i... 阅读全文

posted @ 2009-03-14 20:37 wpcockroach 阅读(374) 评论(0) 推荐(0) 编辑

Exponentiation 的 O(logn) 算法

摘要: 求幂的O(logn)算法应该已经众所周知了。这里就不做深入地分析,只是简单介绍下并提供两个样板程序。在写下O(logn)算法之前,还是先补充介绍下算法的数学背景。显然,上面的数学式具有递归形式。所以,递归实现可以写成:int Power(int base, unsigned exponent){ if (0 == exponent) return 1; if (1 == exponent) return base; if (exponent & 1) return Power(base * base, exponent >> 1) * base; else... 阅读全文

posted @ 2009-03-14 16:44 wpcockroach 阅读(585) 评论(0) 推荐(0) 编辑