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 @   xuchaoxin1375  阅读(4)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示