手把手带你用java搞定青蛙跳台阶

目录

  • 问题描述
  • 问题剖析
    • n=1
    • n=2
    • n=3
    • n=4
    • 小结
  • Java代码示例
    • 附:C语言实现青蛙跳台阶
      • 总结

        问题描述 一只青蛙一次可以跳上 1 级台阶,也可以跳上2 级。求该青蛙跳上一个n 级的台阶总共有多少种跳法

        问题剖析
        n=1
        手把手带你用java搞定青蛙跳台阶
        文章图片

        此时有一种跳法。

        n=2
        手把手带你用java搞定青蛙跳台阶
        文章图片

        此时有两种跳法。

        n=3
        手把手带你用java搞定青蛙跳台阶
        文章图片

        此时有三种跳法。

        n=4
        手把手带你用java搞定青蛙跳台阶
        文章图片

        此时有五种跳法。

        小结
        当有n级台阶时,青蛙可以跳1级,也可以跳2级。如果它跳1级,那么还剩下n-1级台阶;如果它跳2级,那么还剩下n-2级台阶。因此n级台阶的跳法等于n-1级台阶跳法加上n-2级台阶跳法之和,也就是:
        手把手带你用java搞定青蛙跳台阶
        文章图片

        而如此递归下去,最后n就减到了1和2。

        Java代码示例
        public static void main(String[] args) {Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); int ret = frogJumping(n); System.out.println(ret); }public static int frogJumping(int n) {if(n == 1) {return 1; } else if(n == 2) {return 2; } else {return frogJumping(n - 1) + frogJumping(n - 2); }}

        例如,当n=5时,结果为:
        手把手带你用java搞定青蛙跳台阶
        文章图片


        附:C语言实现青蛙跳台阶
        #includeint FrogJumping(int n){ if (n == 1) {return 1; } else if (n == 2) {return 2; } else {return FrogJumping(n - 1) + FrogJumping(n - 2); }}int main(){ int n = 0; scanf("%d", &n); int ret = FrogJumping(n); printf("%d级台阶有%d种跳法", n, ret); return 0; }


        总结 【手把手带你用java搞定青蛙跳台阶】本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

          推荐阅读