定义Fibonacci数列如下: / 0 n=0 f(n)= 1 n=1 \ f(n-1)+f(n-2) n=2 输入n,用最快的方法求该数列的第n项。
2015-10-23 10:54
369 查看
定义Fibonacci数列如下:
/ 0 n=0
f(n)= 1 n=1
\ f(n-1)+f(n-2) n=2
输入n,用最快的方法求该数列的第n项。
unsigned int Fibonacci(unsigned int n)
{
if (n == 0) return 0;
if (n == 1) return 1;
unsigned int odd, even;
odd = 1;
even = 0;
while (--n > 1) {
if (n & 0x1)
odd+= even;
else
even+= odd;
}
return even + odd;
}
/ 0 n=0
f(n)= 1 n=1
\ f(n-1)+f(n-2) n=2
输入n,用最快的方法求该数列的第n项。
unsigned int Fibonacci(unsigned int n)
{
if (n == 0) return 0;
if (n == 1) return 1;
unsigned int odd, even;
odd = 1;
even = 0;
while (--n > 1) {
if (n & 0x1)
odd+= even;
else
even+= odd;
}
return even + odd;
}
相关文章推荐
- continue、break、return的区别
- 给图片指定位置打马赛克
- PHP+JQUERY+AJAX上传、裁剪图片
- 英特尔® 虚拟化技术(inter VT-X)加快 Android开发,并解决无法虚拟化问题
- C++好书列表
- 举例讲解iOS开发中拖动视图的实现
- android动画- Property Animation(上)
- 括号匹配
- ExecutorService线程池的使用
- myeclipse优化
- 新版福昕阅读器(Foxit Reader)启动速度慢解决办法
- IOS入门篇(一)
- 函数的得墨忒耳法则
- delays - Information on the various kernel delay / sleep mechanisms
- 浅谈C++多态性
- uva10201(Adventures in Moving - Part IV)
- 欢迎使用CSDN-markdown编辑器
- HashMap遍历方法
- 十进制数转换其他进制数
- ES的操作的整理1