package com.nonefly.recursive;/** * 斐波那契数列 * * @author nonefly * 2015年8月26日 */public class Fib {/** * 递归实现 * * @param n 求第n个 * @return 结果 */public static int fib1(int n) {if (n < 2)return n;return fib1(n - 1) + fib1(n - 2);}/** 迭代 */public static int fib2(int n) {if (n < 2)return n;int first = 0, second = 1, now = 2;for (int i = 2; i <= n; i++) {now = first + second;first = second;second = now;}return now;}/** 动态规划 */public static int fib3(int n) {if (n < 2)return n;int f[] = new int[n+1];f[0] = 0;f[1] = 1;for (int i = 2; i <= n; i++) {f[i] = f[i-1] + f[i-2];}return f[n];}public static void main(String[] args) {for (int i = 0; i < 10; i++) { System.out.PRintln("第"+i+"个 : " + fib2(i));}}}
新闻热点
疑难解答