zoukankan      html  css  js  c++  java
  • 阶梯递归速算

    题目:
    小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级!

    站在台阶前,他突然又想着一个问题:

    如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢?

    个人分析:
    /* 不排序时共10种走法
    *  1次2步的 39-2+1 有38次一部 也就是2次步的可以换38次
    *    <偶次倍2步的,直接忽略>XXXXXXX 2次两部的 去掉4个 37
    *    3 6 36    3步连着有36次 2
    *    5 10 34   
    *     7 14 39-14+7=32
    *    9 18 39-18+9==30
    *    11    22 39-22+11=28
    *    13
    *    15
    *    17
    *    19    共20次 2次步最多的一次
    */

     

    正确代码:

    public class TAIJIE {
    	static int count = 0;
    	public static void test(int jieti,int step){
    		if(jieti<0) return;
    		if(jieti==0){
    			if(step%2==0) count++;
    		}
    		test(jieti-1,step++);
    		test(jieti-2,step++);
    	}
    	
    	public static void main(String[] args) {
    		test(39,0);
    		System.out.println(count);
    	}
    }
    

      

  • 相关阅读:
    overflow:hidden三个作用
    git提交代码步骤以及创建issue事项
    Vue3.0中setup函数的使用
    样式rpx
    js函数
    数据类型
    进制转换
    事件绑定
    微信小程序基础
    “AI+”改变世界!不同领域的5大人工智能趋势
  • 原文地址:https://www.cnblogs.com/sweetheartly/p/5751863.html
Copyright © 2011-2022 走看看