天天看點

基本算法思想-遞推算法

package com.xj.www.algo;
import java.util.Scanner;
/**
 * 遞推算法
 *
 * @author xiongjing
 *
 */
public class RecursionTest {
      // 算法具體實作
      public static int fibonacci(int n) {
            int t1, t2;
            if (n == 1 || n == 2) {
                  return 1;
            } else {
                  t1 = fibonacci(n - 1);
                  t2 = fibonacci(n - 2);
                  return t1 + t2;
            }
      }
      // 程式主入口
      public static void main(String[] args) {
            System.out.println("遞推算法求解兔子産仔問題!");
            System.out.println("請先輸入時間:");
            @SuppressWarnings("resource")
            Scanner sc = new Scanner(System.in);
            int n = sc.nextInt();
            int num = fibonacci(n);
            System.out.println("經過" + n + "個月的時間,功能繁殖成" + num + "對兔子!");
      }
}