A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

斐波那契数列:1,1,2,3,5,8,13,21
第一种算法:递归算法
        public static void main(String[] args) {
                System.out.println(feiBo(20));
        }
        public static int feiBo(int n) {
                if (n == 1 || n == 2) {
                        return 1;
                } else {
                        return feiBo(n - 1) + feiBo(n - 2);
                }
        }
第二种算法(我戏称为螃蟹走路法):
        public static void main(String[] args) {
                // 螃蟹走路算法
                int a = 1;
                int b = 1;
                int c = 0;
                for (int x = 3; x <= 20; x++) {// 循环从3开始,以所求的数列索引为循环结尾。
                        c = a + b;
                        a = b;
                        b = c;
                }
                System.out.println(c);// c是最终的结果
        }
第三种算法(我戏称为数组地毯式推进法):
        public static void main(String[] args) {
                // 数组地毯式推进法
                int[] arr = new int[20];
                arr[0] = 1;
                arr[1] = 1;
                for (int x = 2; x <= arr.length - 1; x++) {
                        arr[x] = arr[x - 1] + arr[x - 2];
                }
                System.out.println(arr[19]);
        }

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马