Golang程序 使用递归计算功率

Golang程序 使用递归计算功率

在本教程中,我们将学习如何使用Go编程语言中的递归技术来计算功率。

功率可以被定义为一个数字被它自己乘以特定的次数。

指数可以定义为一个数字在乘法中使用的次数。功率和指数是重写数学中长的乘法问题的重要工具,特别是在代数中。

例如:24=2×2×2×2=16,其中2是基数,4是指数。

递归是指一个函数通过直接或间接方式调用自己。每个递归函数都有一个基数或基数条件,它是递归中最后的可执行语句,并停止进一步的调用。

下面我们以两种不同的递归方法为例来说明。

例1:使用直接递归方法计算功率的Golang程序代码

语法

Result = (num * POWER(num, power-1)
// Recursive function call to the function POWER() by itself up to the defined condition

算法

  • 第1步– 导入软件包 fmt。

  • 第2步– 创建函数 POWER()。

  • 第3步– 我们将使用if-条件语句。

  • 第4步 – 递归调用函数本身。

  • 第5步–启动函数 main()。

  • 第6步 – 声明并初始化变量。

  • 第7步 – 调用函数 POWER()。

  • 第8步 – 使用 fmt.Printf() 在屏幕上打印结果 。

例子

// GOLANG PROGRAM TO CALCULATE THE POWER USING RECURSION
// Direct Recursion example
package main

// fmt package provides the function to print anything
import "fmt"

// create a function
func POWER(num int, power int) int {
   var result int = 1
   if power != 0 {

      // Recursive function call to itself
      result = (num * POWER(num, power-1))
   }
   return result
}
func main() {
   fmt.Println("Golang Program to calculate the power using recursion")
   // declare and initialize the integer variables
   var base int = 4
   var power int = 2
   var result int

   // calling the POWER() function
   result = POWER(base, power)

   // Print the result using in-built function fmt.Printf()
   fmt.Printf("%d to the power of %d is: %d\n", base, power, result)
}

输出

Golang Program to calculate the power using recursion
4 to the power of 2 is: 16

代码的描述

  • 在上面的程序中,我们首先声明包main。

  • 我们导入了fmt包,其中包括包fmt的文件。

  • 接下来我们创建了一个函数 POWER() ,使用直接递归技术计算功率。

  • 我们将使用if条件语句,它允许你在指定条件为真时执行一个代码块,然后递归调用函数本身。

  • 现在启动函数 main().GO程序的执行从函数main()开始。声明整数变量base、power和result

  • 现在调用 POWER() 函数

  • 最后用内置函数fmt.Printf()将结果打印在屏幕上。这个函数是在fmt包下定义的,它有助于写出标准输出。

例2:使用间接递归法计算功率的Golang程序代码

语法

func recursion_1() {
   recursion_2()}
func recursion_2(){
   recursion_1()}
func main() {
   recursion_1();
}

算法

  • 第1步– 导入软件包 fmt

  • 第2步 – 创建函数 POWER_1()。

  • 第3步 – 我们将使用if-条件语句。

  • 第4步 – 递归调用函数 POWER_2() .

  • 第5步 – 创建函数 POWER_2() .

  • 第6步 – 递归地间接调用函数 POWER_1()

  • 第7步 – 启动函数 main()。

  • 第8步 – 声明并初始化变量。

  • 第9步 – 调用函数 POWER_2()。

  • 第10步 – 使用 fmt.Printf() 在屏幕上打印结果。

例子

// GOLANG PROGRAM TO CALCULATE THE POWER USING RECURSION
// Indirect Recursion example
package main

// fmt package provides the function to print anything
import "fmt"

// create a first Recursive function
func POWER_1(num int, power int) int {
   var result int = 1
   if power != 0 {

      // Recursive function call to the second function
      result = (num * POWER_2(num, power-1))
   }
   return result
}
// create a second Recursive function
func POWER_2(num int, power int) int {
   var result int = 1
   if power != 0 {

      // Recursive function call to the first function
      // which calls this first function indirectly
      result = (num * POWER_1(num, power-1))
   }
   return result
}
func main() {
   fmt.Println("Golang Program to calculate the power using recursion")
   // declare and initialize the integer variables
   var base int = 5
   var power int = 2
   var result int

   // calling the POWER_2() function
   result = POWER_2(base, power)

   // Print the result using in-built function fmt.Printf()
   fmt.Printf("%d to the power of %d is: %d\n", base, power, result)
}

输出

Golang Program to calculate the power using recursion
5 to the power of 2 is: 25

代码的描述

  • 在上面的程序中,我们首先声明包main。

  • 我们导入了fmt包,其中包括了包fmt的文件。

  • 接下来我们创建一个函数 POWER_1() ,使用间接递归技术计算功率。

  • 我们将使用一个if条件语句,它允许你执行一个代码块,如果指定的条件为真,然后递归调用第二个函数 POWER_2()

  • 接下来我们创建一个函数POWER_2()。这里对第一个函数进行递归调用,间接调用第一个函数 POWER_1()

  • 现在启动函数 main().GO程序的执行从函数main()开始。

  • 声明整数变量base、power和result。

  • 现在调用 POWER_2() 函数。

  • 最后使用内置函数fmt.Printf()将结果打印在屏幕上。这个函数定义在fmt包下,它有助于编写标准输出。

总结

在上面的两个例子中,我们已经成功地编译并执行了Golang程序代码,使用递归技术计算功率。在第一个例子中我们展示了直接递归方法,在第二个例子中我们展示了间接递归方法。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程