斐波那契数列在编程界无人不晓,不晓得以前是否已经写过这样的Java 程序,也不关乎王二如今已经编程了多少年,再次来感受一下该数列的牛逼之处吧!
public static void main(String args[]) { try { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); while (true) { int num = Integer.parseInt(br.readLine()); if (num == -1) { break; } int start = 1; int next = 1; System.out.print(start + "、"); System.out.print(next + "、"); // 从3开始到第num个斐波那契数 for (int i = 3; i <= num; i++) { int last = start + next; System.out.print(last + "、"); start = next; next = last; } System.out.println(); for (int i = 1; i <= num; i++) { System.out.print(getF(i) + "、"); } System.out.println(); } br.close(); } catch (IOException e) { e.printStackTrace(); } } static int getF(int i) { if (i == 1 || i == 2) { return 1; } else { return getF(i - 1) + getF(i - 2); } }
一个递归,一个前两位相加,这两个方法很常用,也很简单,就不费口舌了。
重要的不是这个,是斐波那契数列
翻阅百度百科,让我记忆犹新的有:
斐波那契数列是斐波那契在养兔子时候发现的非常用意思的数列,虽然我不知道新生兔子第一个月是不生产的,但想来所有的规律都是和生活所贴近的。
斐波那契数列能计算出黄金分割,随着数量的增加,前一项与后一项的比重越接近0.618,哦,天哪,这肯定不是斐波那契发现的,后人研究的成果。
树木发芽也符合斐波那契数列,好神奇。
杨辉三角好像也和斐波那契数列有点关系,虽然没有细读。