`

递归算法:Fibonacci数列

    博客分类:
  • java
 
阅读更多
import javax.swing.JOptionPane;

/**
 * 		Fibonacci数列兔子繁殖问题:从某天开始把雌雄各一的一对小兔子放入养殖场中,
 * 小兔经过一个月长大,长大后,雌兔每月产雌雄各一的一对小兔。每对新兔也是一个月长 
 * 大,长大后每对新兔也是每月产一对兔子。试问第n个月养殖场共有多少对兔子?
 * */

public class Fibonacci {

	public static void main(String[] args) {
		int n = 0;
		try {
			n = Integer.parseInt(JOptionPane.showInputDialog("请输入n: "));
		} catch (NumberFormatException e) {
			System.out.println("数据格式不对!,请输入正整数。");
			return;
		}
		System.out.println(f(n));
	}

	public static int f(int n) {
		if (n < 1) {
			return -1;
		} else if (n == 1 || n == 2) {
			return 1;
		} else {
			return f(n - 1) + f(n - 2);
		}
	}
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics