java_童年生活二三事

package acmInJava.climbStairs;

import java.util.Scanner;

/**
 * Redraiment小时候走路喜欢蹦蹦跳跳,他最喜欢在楼梯上跳来跳去。 但年幼的他一次只能走上一阶或者一下子蹦上两阶。 现在一共有N阶台阶,请你计算一下Redraiment从第0阶到第N阶共有几种走法。
 * 输入
 * 输入包括多组数据。 每组数据包括一行:N(1≤N≤40)。 输入以0结束。
 * <p>
 * 输出
 * 对应每个输入包括一个输出。 为redraiment到达第n阶不同走法的数量。
 * <p>
 * 样例输入
 * 1
 * 2
 * 0
 * 样例输出
 * 1
 * 2
 *
 * @Author xuchaoxin
 * @Date 2020/12/26 18:25
 * @Version 1.0
 */
public class Main {
    public static void main(String[] args) {
        /*to deprecate the index 0 to make the corresponding arguments */

        //(new RecursionWithDictionary())
        /*through the specified object of certain class's static method is not good to read;
         * in the occasion, the IDEA doesn't easy to prompt you it has which
         * methods modified by static */
        // RecursionWithDictionary deal=new RecursionWithDictionary();
        /*only one Scanner stream is enough to read data*/
        Scanner scanner = new Scanner(System.in);
        int stairN;
        do {
            /*attention ! do {} not do()!*/

            stairN = scanner.nextInt();
            if(stairN==0){
                break;
            }
            System.out.println(RecursionWithDictionary.recursionWithDictionary(stairN));
        } while (stairN != 0);

        /*use while(true)..break structure is similar to do..while()'s simple/concise*/
        while (true) {
            stairN = scanner.nextInt();
            if (stairN == 0) {
                break;
            } else {
                System.out.println(RecursionWithDictionary.recursionWithDictionary(stairN));
            }
        }

    }
}


package acmInJava.climbStairs;

/**
 * @Author xuchaoxin
 * @Date 2020/12/26 18:41
 * @Version 1.0
 */
public class RecursionWithDictionary {
    static int[] recursionWithDictionary(){
        int[] dictionary = new int[41];
        dictionary[1] = 1;
        dictionary[2] = 2;
        for (int i = 3; i < 41; i++) {
            dictionary[i]=dictionary[i-1]+dictionary[i-2];
        }
        return dictionary;
    }
    static  int recursionWithDictionary(int stair){
        return recursionWithDictionary()[stair];
    }
}

posted @ 2023-08-25 14:47  xuchaoxin1375  阅读(11)  评论(0)    收藏  举报  来源