Java程序设计之裴波拉切那数列(兔子一年的数量)
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....
典型的裴波拉切那问题不多说了,直接上代码好了。
import java.util.ArrayList; public class SecondThread{ static ArrayList<Integer> list = new ArrayList(); int number ;//计算后一个月的兔子数量 public static void main(String[] args){ SecondThread st = new SecondThread(); st.fun(); st.out(); } private void fun(){ //将12个月的兔子数量保存进list链表集合内 list.add(1); list.add(1); //前两个月的兔子数量 for(int i = 3;i<=12;i++){ number = list.get(i-2)+list.get(i-3); list.add(number); } } private void out(){//输出12个月的兔子数量 int i =1; for(int j:list){ System.out.println("第"+(i++)+"个月的兔子数量是"+j); } } }