`
taimukang
  • 浏览: 181133 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

斐波那契数列的实现

阅读更多

 //递归方式
        public static int f(int n) {
                //参数合法性验证
                if (n < 1) {
                        System.out.println("参数必须大于1!" );
                        System.exit(-1);
                }
                if (n == 1 || n == 2) return 1;
                else return f(n - 1) + f(n - 2);
        }

        //非递归方式
        public static int fx(int n) {
                //参数合法性验证
                if (n < 1) {
                        System.out.println("参数必须大于1!" );
                        System.exit(-1);
                }
                //n为1或2时候直接返回值
                if (n == 1 || n == 2) return 1;

                //n>2时候循环求值
                int res = 0;
                int a = 1;
                int b = 1;
                for (int i = 3; i <= n; i++) {
                        res = a + b;
                        a = b;
                        b = res;
                }
                return res;
        }

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics