费波纳契数列

分类:java
2010-10-08 20:40 阅读(?)评论(0)

     

/* Fibonacci数列:
* 0,1,1,2,3,5,8,......
* 第一个和第二个数为0和1,后面每一个数都是前两个之和;
* 相邻两个数之比趋向于黄金比例:1.618...;
*
*
* 在要求高性能的场合,尽量不要用递归,用迭代;
* 递归的优势在于可读性强,便于调试与理解;
*
*/

 

1、循环实现
int fun(int n) {
int sum = 0, tmp1=1, tmp2 = 1;
if (n < 2)
return 1;
for(int i = 2; i <= n; i++) {
sum = tmp1 + tmp2;
tmp2 = tmp1;
tmp1 = sum;
}
return sum;
}
2、递归实现
/递归方法,计算fibonacci数列;

if (number==0 || number==1)
return number;
else
return fibonacci(number-1)+fibonacci(number-2);
}

}

 

 

循环写法一目了然,,递归还没完全理解

  最后修改于 2010-10-15 22:18    阅读(?)评论(0)
上一篇: 该日志被锁定 下一篇:版本基本思路
 
表  情:
加载中...
 

请各位遵纪守法并注意语言文明