博客
关于我
java 基础编程练习6
阅读量:713 次
发布时间:2019-03-21

本文共 789 字,大约阅读时间需要 2 分钟。

题目描述:

小乐乐上课需要走n阶台阶,因为他腿比较长,所以每次可以选择走一阶或者走两阶,那么他一共有多少种走法?

输入描述:

输入包含一个整数n (1 ≤ n ≤ 30)

输出描述:

输出一个整数,即小乐乐可以走的方法数。

示例1

输入

2

输出

2

示例2

输入

10

输出

89

解题思路:

  • 当只有一格楼梯的时候,只有一种走法。
  • 当有两格楼梯的时候,有两种走法。
  • 当有三格楼梯的时候,乐乐可以从第一级直接走上来(因为他可以直接走两级)【1种】,也可以选择从第二级走上来(那么他就直接走一级)【2种】,一共是1+2种走法。
  • 当有四格楼梯的时候,乐乐可以从第二级直接走上来(因为他可以直接走两级)【2种】,也可以选择从第三级走上来(那么他就直接走一级)【3种】,一共是2+3种走法。
  • 所以可以发现,他其实遵循的是斐波那契数列:1,2,3,5,8,13…
import java.util.Scanner;public class Main{           public static void main(String [] args){           Scanner in =new Scanner (System.in);        int n=in.nextInt();        System.out.print(fun(n));    }        //斐波那契数列函数,用递归实现    public static int fun(int n){           if (n == 1)            return 1;        else if (n == 2)            return 2;        else            return fun(n - 1) + fun(n - 2);    }}

转载地址:http://rbjrz.baihongyu.com/

你可能感兴趣的文章
Mysql不同官方版本对比
查看>>
MySQL与Informix数据库中的同义表创建:深入解析与比较
查看>>
mysql与mem_细说 MySQL 之 MEM_ROOT
查看>>
MySQL与Oracle的数据迁移注意事项,另附转换工具链接
查看>>
mysql丢失更新问题
查看>>
MySQL两千万数据优化&迁移
查看>>
MySql中 delimiter 详解
查看>>
MYSQL中 find_in_set() 函数用法详解
查看>>