zoukankan      html  css  js  c++  java
  • 开胃菜

    1.n有n个台阶,一次只能迈一个台阶或者两个台阶,问有多少种迈台阶的方法?
    public int fab(int n){
        if(n==0||n==1){
            return 1;
        }
        return fab(n-1)+fab(n-2);
    }

    2.n利用四种方式求一个数的阶乘

    /**
     * 迭代法
     */
    public int factorialIteration(int m){
        int fact=1;
        for(int i=2;i<=m;i++){
            fact*=i;
        }
        return fact;
    
    }
    /**
     * 下降递归策略
     * 
     */
        public int factorialRecurison(int m){
            if(m==1)
                return 1;
            return m*factorialRecurison(m-1);
        }
    /**
     * 上升递归策略
     */
        public int product2(int m,int n){
            if(m==n)
                return n;
            else{
                return m*product2(m+1, n);
            }
        }
    /**
     * 等分区间求阶乘
     */
        public static int product(int m,int n) {
            int middle;
            
            if(m==n)
            return m;
            else{
                middle=(m+n)/2;
                return product(m, middle)*product(middle+1, n);
            }
        }

    后两种方法不理解其中的意思,请学友们给指点一下。

  • 相关阅读:
    CSS实现底部固定
    ES6新特性--多行文本
    DataTable转实体
    jQuery插件开发
    页面可编辑
    clearfix--清除浮动
    前端日历控件推荐
    图片Base64编码
    第八周学习进度博客
    人月神话多后感01
  • 原文地址:https://www.cnblogs.com/ilxx1988/p/2949797.html
Copyright © 2011-2022 走看看