zoukankan      html  css  js  c++  java
  • java几种方式实现斐波那契数列

    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));
    		}
    	}
    }
    
    所有文章未特殊说明均属原创,有误之处欢迎提出,转载随意,您喜欢就好,但请注明,谢谢!
  • 相关阅读:
    python中的unlink
    if
    python中if __name__ == '__main__'
    rename函数
    win2003的密钥
    url
    python中的os.stat
    python中的mysql
    防火墙
    网址
  • 原文地址:https://www.cnblogs.com/nonefly/p/4762223.html
Copyright © 2011-2022 走看看