程序1

题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一
对兔子,假如兔子都不死,问每个月的兔子总数为多少?
1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....
方法一:
        function F1(month) {
            if (month === 0 ||month === 1) {
                return 1;
            }
            else if ( month === 2) {
                return 2;
            }
            else {
                return F(month - 1) + F(month - 2);
            }
        }

方法二:
        function F2(month) {
            var arr = new Array();
            arr[0] = 1;
            arr[1] = 2;

            for (var i = 2; i < month; i++) {
                arr[i] = arr[i - 1] + arr[i - 2];
            }

            return arr[month-1];
        }


方法三:

        function F3(month){
            var f1=1,f2=1,f=0;
            for (var i = 2; i < month; i++) {
                f = f1 + f2;
                f1 = f2;
                f2 = f;
               
            }
            return f2;
        }

posted @ 2012-05-27 23:03  前端咖  阅读(190)  评论(0编辑  收藏  举报