递归


package main

import "fmt"

//递归有退出条件和递归函数组成,退出条件一定要记住,否则会进入死循环
func Factorial(n uint64) uint64 {
	if n <= 1 {
		return 1
	} else {
		return n * Factorial(n-1)
	}
}

//上台阶,n个台阶每次可以走一步也可以走两步,一共有多少种走法
func stepUp(n int) int {
	if n == 1 {
		return 1
	} else if n == 2 {
		return 2
	} else {
		return stepUp(n-1) + stepUp(n-2)
	}

}
func main() {
	fmt.Println(Factorial(5))
	fmt.Println(stepUp(5))
}