斐波那契数列的三种解决方案
来源:互联网 发布:四川广电网络app 编辑:程序博客网 时间:2024/09/21 09:22
斐波那契数列的求和是一个经常会见到的题,好久不看都忘了,今天来总结一下。求前n个斐波那契数列的和
三种解决方案:
1.使用三个变量,在循环到n之前,使用三个元素交换值。
public class fb1 { // 定义三个变量方法 public static void main(String[] args) { int a = 1, b = 1, c = 0; System.out.println("斐波那契数列前20项为:"); System.out.print(a + "\t" + b + "\t"); //因为前面还有两个1、1 所以i<=18 for (int i = 1; i <= 18; i++) { c = a + b; a = b; b = c; System.out.print(c + "\t"); if ((i + 2) % 5 == 0) System.out.println(); } } }
2.使用数组的方法,提前申请指定大小数组,i从第三位起,到n,a[i]=a[i-1]+a[i-2]
public class fb2 { // 定义数组方法 public static void main(String[] args) { int arr[] = new int[20]; arr[0] = arr[1] = 1; for (int i = 2; i < arr.length; i++) { arr[i] = arr[i - 1] + arr[i - 2]; } System.out.println("斐波那契数列的前20项如下所示:"); for (int i = 0; i < arr.length; i++) { if (i % 5 == 0) System.out.println(); System.out.print(arr[i] + "\t"); } } }
3.递归的方法
public class fb3 { // 使用递归方法 private static int getFibo(int i) { if (i == 1 || i == 2) return 1; else return getFibo(i - 1) + getFibo(i - 2); } public static void main(String[] args) { System.out.println("斐波那契数列的前20项为:"); for (int j = 1; j <= 20; j++) { System.out.print(getFibo(j) + "\t"); if (j % 5 == 0) System.out.println(); } } }
0 0
- 斐波那契数列的三种解决方案
- 斐波那契数列的三种求法
- 实现斐波那契数列的三种方法
- 斐波那契数列的三种算法
- 斐波那契数列 的三种实现方法
- 斐波那契数列的三种实现方式
- 斐波那契数列实现的三种方法
- 斐波那契数列的三种实现方法
- 斐波那契数列数列的三种时间复杂度的实现方法
- 斐波那契数列-java编程:三种方法实现斐波那契数列
- 斐波那契数列-java编程:三种方法实现斐波那契数列
- 斐波那切数列的三种解法
- 三种方法求解Fibonacci(斐波那契)数列
- 三种方法求解Fibonacci(斐波那契)数列
- 斐波那契数列三种算法(fibonacci)
- 三种方法实现斐波那契数列
- 三种方法实现斐波那契数列
- 斐波那契数列三种实现方式
- Mybatis实战之自定义TypeHandler处理枚举
- HDU 6016 Count the Sheep(思维水题)
- struct usb_hub
- CGLIB动态代理
- boost smart_ptr 3-> scoped_array
- 斐波那契数列的三种解决方案
- LeetCode Algorithms 2. Add Two Numbers
- MD5与SHA加密算法
- 【Hadoop】 2.7.3版本 hdfs 命令行使用
- JAVA小型三国杀的制作_1
- 【算法作业1】LeetCode 485. Max Consecutive Ones
- 【git】在分支中执行add,commit之后,代码丢失
- Android自定义圆角/圆形控件
- 2016年软件产业规模