博客
关于我
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 查询优化:提速查询效率的13大秘籍(避免使用SELECT 、分页查询的优化、合理使用连接、子查询的优化)(上)
查看>>
mysql 查询数据库所有表的字段信息
查看>>
【Java基础】什么是面向对象?
查看>>
mysql 查询,正数降序排序,负数升序排序
查看>>
MySQL 树形结构 根据指定节点 获取其下属的所有子节点(包含路径上的枝干节点和叶子节点)...
查看>>
mysql 死锁 Deadlock found when trying to get lock; try restarting transaction
查看>>
mysql 死锁(先delete 后insert)日志分析
查看>>
MySQL 死锁了,怎么办?
查看>>
MySQL 深度分页性能急剧下降,该如何优化?
查看>>
MySQL 深度分页性能急剧下降,该如何优化?
查看>>
MySQL 添加列,修改列,删除列
查看>>
mysql 添加索引
查看>>
MySQL 添加索引,删除索引及其用法
查看>>
mysql 状态检查,备份,修复
查看>>
MySQL 用 limit 为什么会影响性能?
查看>>
MySQL 用 limit 为什么会影响性能?有什么优化方案?
查看>>
MySQL 用户权限管理:授权、撤销、密码更新和用户删除(图文解析)
查看>>
mysql 用户管理和权限设置
查看>>
MySQL 的 varchar 水真的太深了!
查看>>