斐波那契数列

斐波那契数列
斐波那契数列又称 黄金分割 数列,因数学家莱昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“ 兔子数列 ”;

* 指的是这样一个数列:1、1、2、3、5、8、13、21、34、……
* 其规律是从第3个数开始,每个数都等于它前两个数的和。


递归解法:

public static long fibonacci(long index) {
        if ((index == 1) || (index == 2))
            return 1;
        else
            return fibonacci(index - 1) + fibonacci(index - 2);
    }

循环解法:

复制代码
public static long fibonacci(long index) {
    if(index == 1 || index == 2) {
        return 1;
    }
    int first = 1;
    int second = 1;
    int third;      
    for(long i = 3l; i <= index; i ++) {
        third = first + second;
        first = second;
        second = first;    
    }
    return third;
}
复制代码

利用数组得到数列本身:

复制代码
public static long[] fibonacci(int size) {
    if(size <= 0) {
        throw new RuntimeException();
    }
    long[] fibonacci = new long[size];
    if(size == 1) {
        fibonacci[0] = 1l;
     return fibonacci; }
fibonacci[0] = 1l; fibonacci[1] = 1l;
    if(size == 2) {
return fibonacci; }
  for(int i = 0; i < size; i ++) {
    
if(i == 0 || i == 1) {
      
continue;
    }
    fibonacci[i]
= fibonacci[i - 1] + fibonacci[i - 2];
  }
  
return fibonacci;
}
复制代码

 

posted @   时间羚羊  阅读(169)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示