锁定老帖子 主题:斐波那契数(JAVA实现)
该帖已经被评为新手帖
|
||
---|---|---|
作者 | 正文 | |
发表时间:2007-07-15
求Fibonacci数列的前20个数。该数列有如下特点: 第1, 2两个数为0,1。从第3个数开始,每个数等于前2个数之和。
生成方法为: F1=1 (n=1) F2=1 (n=2) Fn=Fn-1+Fn-2 (n>=3) java 代码
输出结果:
小知识(摘录): 又找到了这么一段话: 月数 小兔 中兔 老兔 总数 在计算每一行时,大兔数为上月的大兔数加上月的中兔数,中兔数为上月的小兔数,小兔数为本月的大兔数,算总数为本月的小兔数加本月的中兔数加本月的大兔数。在观察总数的过程中找出了规律:总数的第一、二月都是1,以后的每一月是前两月的和。数列为1,1,2,3,5,8,13,21,34,55,…… 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
||
返回顶楼 | ||
发表时间:2007-07-15
后面的黄金分割可以用通解来解释
x^2=x+1 解出的解为数列通解 然后…… btw 第25行应该是 for(int i =2;i<n;i++) { |
||
返回顶楼 | ||
发表时间:2007-07-16
学C语言时做过这个题
|
||
返回顶楼 | ||
发表时间:2007-07-17
不用这么麻烦吧.....
public class Fibonacci { public static long fib(int n) { if (n <= 1) return n; else return fib(n-1) + fib(n-2); } public static void main(String[] args) { int N = Integer.parseInt(args[0]); for (int i = 1; i <= N; i++) System.out.println(i + ": " + fib(i)); } } |
||
返回顶楼 | ||
发表时间:2007-07-17
引用 前20个数 为什么要用long来实现?? |
||
返回顶楼 | ||
发表时间:2007-07-18
Groovy 试试:
start = 1 next = 1 20.times { print start + ' ' newStart = next next = next + start start = newStart } 结果: 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 Process finished with exit code 0 |
||
返回顶楼 | ||
发表时间:2007-07-18
for(int i = 1;i <= n;i++){
System.out.print(f1+" "+f2+" ");//先输出前两个数 if(i % 5 == 0)System.out.print("\n"); //换行 f1 = f1+f2; //计算下两个数 f2 = f1+f2; } { f1 = f1+f2; //计算下两个数 f2 = f1+f2;} 这样怎么看不懂啊? |
||
返回顶楼 | ||
发表时间:2007-07-18
java 也做过,实际没有用上,不知道在那方面可以用的上,不会拿来考人或做练习吧
|
||
返回顶楼 | ||
发表时间:2007-07-18
tear12345 写道 java 也做过,实际没有用上,不知道在那方面可以用的上,不会拿来考人或做练习吧 不知道你平时有没有用到过递归。。。。写这种东西目的让人知道怎么用递归。 |
||
返回顶楼 | ||
发表时间:2007-08-01
递归在java我很少用,我都是把递归转成循环来用
|
||
返回顶楼 | ||