• 免费注册  马上登录
  • 切换到窄版
  • go语言|go语言部落|go文库

    查看: 52|回复: 0

    go语言解题-上楼梯

    [复制链接]

    23

    主题

    23

    帖子

    118

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    118
    发表于 2019-11-25 20:20:34 | 显示全部楼层 |阅读模式
    package main

    import "fmt"

    //在面试中遇到的一个题,现在记录下来解决办法。
    // 上楼可以一步上 1 阶,也可以一步上 2
    //如果有一级台阶,方法只有1
    //如果有两级台阶,则有2种方法
    //当级数为n的时候有以下两种情况:
    //1、第n级台阶时是在n-1级上1级上来的
    //2、第n级台阶时是在n-2级上2级上来的
    //可以使用递归实现.
    func taijie(num uint64)uint64{
       if num==1{
          return 1
       }
       if num==2{
          return 2
       }
       return taijie(num-1)+taijie(num-2)
    }
    func main(){
       var n uint64=5
       fmt.Printf("%d级台阶有%d种上法",n,taijie(n))
    }



    打印结果:5级台阶有8种上法

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|Go语言社区

    GMT+8, 2020-4-2 00:51 , Processed in 0.042720 second(s), 17 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表