复利计算 递归/非递归

复利的计算方法
公式:S = P(I + i)n

直接用循环实现:

/*
复利计算
principal 本金
year 年限
rate 利率
*/
func Compounding(principal float64, year int, rate float64) {
    //var result float64
    for i := 1; i <= year; i++ {
        principal = principal * (1 + rate)
    }
    fmt.Println(principal)
    //F=P*(1+i)^n

}

用递归实现

/*
递归的方式实现复利计算
*/
func calculation(x, y float64, n int) float64 {
    if n == 0 {
        return x
    }
    n--
    x = x * (1 + y)
    return calculation(x, y, n)
    //fmt.Println(x)
}

就这些?是的,就是这样。多谢!

你可能感兴趣的:(复利计算 递归/非递归)