博客
关于我
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/

你可能感兴趣的文章
Neo4j(1):图数据库Neo4j介绍
查看>>
Neo4j(2):环境搭建
查看>>
Neo4j(3):Neo4j Desktop安装
查看>>
Neo4j(4):Neo4j - CQL使用
查看>>
Neo图数据库与python交互
查看>>
NEO改进协议提案1(NEP-1)
查看>>
Neo私链
查看>>
NervanaGPU 项目使用教程
查看>>
Nerves 项目教程
查看>>
nessus快速安装使用指南(非常详细)零基础入门到精通,收藏这一篇就够了
查看>>
Nessus漏洞扫描教程之配置Nessus
查看>>
Nest.js 6.0.0 正式版发布,基于 TypeScript 的 Node.js 框架
查看>>
nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML.
查看>>
nestesd exception is java .lang.NoSuchMethodError:com.goolge.common.collect
查看>>
nestJS学习
查看>>
net core 环境部署的坑
查看>>
NET Framework安装失败的麻烦
查看>>
Net 应用程序如何在32位操作系统下申请超过2G的内存
查看>>
Net.Framework概述
查看>>
NET3.0+中使软件发出声音[整理篇]<转>
查看>>