今天在使用java8 特性進行聯繫,使用程序打印斐波納契元組序列的時候,發現了一個有趣的規律java
代碼數組
Stream.iterate(new int[]{0,1}, t -> new int[]{t[1],t[0] + t[1]}).limit(11).forEach(t -> { //System.out.print("[" + t[0] + "," + t[1] + "]"); System.out.print(t[0] + " " + t[1]); });
0 11 11 22 33 55 88 1313 2121 3434 5555 89
System.out.print("[" + t[0] + "," + t[1] + "]");
[0,1][1,1][1,2][2,3][3,5][5,8][8,13][13,21][21,34][34,55][55,89]
經過觀察規律能夠發現,錯誤打印裏面,數組的t[2] 與下一個數組的t[1] 相連,其得出的數值列表,也徹底符合斐波納契元組序列的規律,既數列中開始的兩個數字是0和1,後續的每一個數字都是前兩個數字之和。code
哈哈,有趣的發現,繼續碼代碼。it
正確的打印: System.out.print(t[0] + " ");java8