day04
递归
package main
import "fmt"
// 递归
// 阶乘
func jiecheng(n uint64) uint64 {
if n <= 1 {
return 1
}
return n * jiecheng(n-1)
}
// 上台阶问题: n个台阶,一次可以走1步,也可以走2步,有多少种走法
func taijie(n uint64) uint64 {
if n <= 1 {
return 1
}
if n == 2 {
return 2
}
// 两种情况,第一种:计算出不管怎么走,最后只剩下一个台阶的走法;第二种:计算出不管怎么走,最后只剩下两个台阶的走法
return taijie(n-1) + taijie(n-2)
}
func main() {
fmt.Println(jiecheng(5))
fmt.Println(taijie(3)) // 3
}
其他内容请下载:
http://49.235.84.2/