算法--Java青蛙跳台阶问题(一次可以跳n阶)
文章目录 一、问题 1、初级版 2、升级版 二、思路与代码 1、第一种情况(初级版) 2、所以初级版Java代码如下 3、第二种情况(升级版) 3、所以升级版Java代码如下 三、总结 一、问题 1、初级版 一只青蛙跳台阶,一次可以跳1阶,可以2阶。那么,台阶为n时,有多少种跳法。 2、升级版 一只青蛙跳台阶,一次可以跳1阶,可以2阶,其能力足够强大以至于一次可以跳n阶。那么,台阶为n时,有多少种跳法。 二、思路与代码 1、第一种情况(初级版) 一次只能挑一阶或者两阶时。如果只有1阶,那么一共有1种跳法; 如果有2阶,那么一共有2种跳法。如果有n阶时,最后一步青蛙只能从第n-1或者n-2这两种情况往上跳。 那么,假设n阶时有f(n)种跳法,由上可知: f(1) = 1 f(2) = 2 f(n) = f(n-1) + f(n-2) 2、所以初级版Java代码如下 public static void main(String[] args) { int a = 5; System.out.println(qingwa(a)); } private static int qingwa(int a) { if (a == 1) { return 1; } else if (a == 2) { return 2; }else { return qingwa(a - 1) + qingwa