斐波那契数列
斐波那契数列
斐波那契数列又称 黄金分割 数列,因数学家莱昂纳多·斐波那契(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;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)