题目要求:编写程序在控制台输出斐波那契数列前20项,每输出5个数换行

斐波那契数列指的是这样一个数列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, …

这个数列从第三项开始,每一项都等于前两项之和。

java 斐波 java 斐波那契编程循环_System

 

//java编程:三种方法实现斐波那契数列
//其一方法:

1. public class Demo1 {  
2. // 定义三个变量方法  
3. public static void main(String[] args) {  
4. int a = 1, b = 1, c = 0;  
5. "斐波那契数列前20项为:");  
6. "\t" + b + "\t");  
7. //因为前面还有两个1、1 所以i<=18  
8. for (int i = 1; i <= 18; i++) {  
9.             c = a + b;  
10.             a = b;  
11.             b = c;  
12. "\t");  
13. if ((i + 2) % 5 == 0)  
14.                 System.out.println();  
15.         }  
16.     }  
17.   
18. }

//java编程:三种方法实现斐波那契数列
//其二方法:

1. public class Demo2 {  
2. // 定义数组方法  
3. public static void main(String[] args) {  
4. int arr[] = new int[20];  
5. 0] = arr[1] = 1;  
6. for (int i = 2; i < arr.length; i++) {  
7. 1] + arr[i - 2];  
8.         }  
9. "斐波那契数列的前20项如下所示:");  
10. for (int i = 0; i < arr.length; i++) {  
11. if (i % 5 == 0)  
12.                 System.out.println();  
13. "\t");  
14.         }  
15.     }  
16.   
17. }
  1.  

//java编程:三种方法实现斐波那契数列

//其三方法:

1. public class Demo3 {  
2. // 使用递归方法  
3. private static int getFibo(int i) {  
4. if (i == 1 || i == 2)  
5. return 1;  
6. else  
7. return getFibo(i - 1) + getFibo(i - 2);  
8.     }  
9.   
10. public static void main(String[] args) {  
11. "斐波那契数列的前20项为:");  
12. for (int j = 1; j <= 20; j++) {  
13. "\t");  
14. if (j % 5 == 0)  
15.                 System.out.println();  
16.         }  
17.     }  
18.   
19. }

 

这道兔子题的实质就是斐波那契数列: 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?,现在从变量、数组、递归三个角度出发解决这个puzzle,当然还有其它的方法,同一道题用各种不同的思路去思考解决,也是对知识综合运用的锻炼吧。