如何使用 Golang 代码计算复利?


在本教程中,我们将了解如何在 Golang 中编写计算复利的程序。它是一种在银行和金融领域使用本金、年利率和时间等因素来计算贷款准确利息的方法。由于准确性更高,利率也比单利高。

公式

compound_Interest = P * ( 1 + R / 100) ^ T
P = Principal amount
R = Rate per annum
T = Time

例如,假设本金为 1000,利率为 4,期限为 2 年,则复利为。

compound_interest = 1000 * (1 + 4 / 100 ) ^2
= 1081.6000000000001

在函数中查找复利

算法

  • 步骤 1 - 声明用于存储本金、利率、时间和复利的变量,数据类型为 float64。

  • 步骤 2 - 从用户获取本金、利率和时间输入。

  • 步骤 3 - 使用上述公式在函数中计算复利。

  • 步骤 4 - 打印结果。

时间复杂度

O(1) - 时间复杂度为常数,因为无论输入是什么,程序都会花费相同的时间。

空间复杂度

O(1) - 程序中的变量是静态的,因此空间复杂度也是常数。

示例 1

在这个示例中,我们将找到函数内的复利。

package main // fmt package provides the function to print anything import ( "fmt" "math" ) func main() { // declaring the floating variables using the var keyword // for storing the principal, rate of interest, and time var principal, rateOfInterest, time, compoundInterest float64 fmt.Println("Program to find compound interest.") // initializing the principal principal = 3000 // initializing the rate rateOfInterest = 4 // initializing the time = 3 // finding the compound interest compoundInterest = (principal * math.Pow(1+rateOfInterest/100, time)) // printing the result fmt.Println("Principal =", principal, "\nRate of Interest", rateOfInterest, "\nTime", time, "\nThe compound interest=", compoundInterest) fmt.Println("(Finding the compound interest within the function)") }

输出

Program to find compound interest.
Principal = 3000
Rate of Interest 4
Time 3
The compound interest= 3374.592
(Finding the compound interest within the function) 

代码描述

  • var principal, rateOfInterest, time, compoundInterest float64 - 在这行代码中,我们声明了稍后将使用的本金、利率、时间和复利。由于利息可能是小数,因此我们使用了浮点数据类型。

  • fmt.Scanln(&principal) - 从用户获取本金输入。

  • fmt.Scanln(&rateOfInterest) - 从用户获取利率输入。

  • fmt.Scanln(&time) - 从用户获取时间输入。

  • compoundInterest = (principal * math.Pow(1+rateOfInterest/100, time)) − 在这行代码中,我们应用了公式并计算了复利。此外,为了找到 1+rateOfInterest/100 的时间次幂,我们使用了 Golang 中的数学库,该库具有 Pow() 函数,该函数有两个浮点类型的参数。

  • fmt.Println("The compound interest is", compoundInterest) - 最后打印结果。

在不同的函数中查找复利

算法

  • 步骤 1 - 声明用于存储本金、利率、时间和复利的变量,数据类型为 float64。

  • 步骤 2 - 从用户获取本金、利率和时间输入。

  • 步骤 3 - 使用本金、利率和时间作为参数调用函数,并将函数返回的复利存储起来。

  • 步骤 4 - 打印结果。

示例 2

在这个示例中,我们将分别在函数中查找复利,并在需要打印的函数中调用它。

package main // fmt package provides the function to print anything import ( "fmt" "math" ) func compoundInterestFunction(principal, rateOfInterest, time float64) float64 { // finding the compound interest compoundInterest := (principal * math.Pow(1+rateOfInterest/100, time)) // returning the compound interest return compoundInterest } func main() { // declaring the floating variables using the var keyword // for storing the principal, rate of interest, and time var principal, rateOfInterest, time, compoundInterest float64 fmt.Println("Program to find compound interest.") // taking the principal as input from the user fmt.Print("Please enter the value of the principal amount = ") fmt.Scanln(&principal) // taking the rate of interest as input from the user fmt.Print("Please enter the value of the rate of interest = ") fmt.Scanln(&rateOfInterest) // taking the value of the time as input from the user fmt.Print("Please enter the value of the time = ") fmt.Scanln(&time) // calling the compound interest function by passing the respective parameter // and storing the result compoundInterest = compoundInterestFunction(principal, rateOfInterest, time) // printing the result fmt.Println("The compound interest is", compoundInterest) fmt.Println("(Finding the compound interest in different function)") }

输出

Program to find compound interest.
Please enter the value of the principal amount = 1000
Please enter the value of the rate of interest = 5
Please enter the value of the time = 3
The compound interest is 1157.6250000000002
(Finding the compound interest in different function)

代码描述

  • var principal, rateOfInterest, time, compoundInterest float64 - 在这行代码中,我们声明了稍后将使用的本金、利率、时间和复利。由于利息可能是小数,因此我们使用了浮点数据类型。

  • fmt.Scanln(&principal) - 从用户获取本金输入。

  • fmt.Scanln(&rateOfInterest) - 从用户获取利率输入。

  • fmt.Scanln(&time) - 从用户获取时间输入。

  • compoundInterest = compoundInterestFunction(principal, rateOfInterest, time)

    − 在这行代码中,我们通过传递相应的参数来调用计算复利的函数。此外,为了找到 1+rateOfInterest/100 的时间次幂,我们使用了 Golang 中的数学库,该库具有 Pow() 函数,该函数有两个浮点类型的参数。

  • fmt.Println("The compound interest is", compoundInterest) - 最后打印结果。

结论

以上是两种在 Golang 中查找复利的方法。从模块化和代码可重用性的角度来看,第二种方法更好,因为我们可以在项目的任何地方调用该函数。要了解更多关于 Go 的知识,您可以浏览这些 教程

更新于: 2022-08-29

411 次浏览

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告