递归
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))
}