使用递归查找自然数之和的 Golang 程序

go programmingserver side programmingprogramming

在本教程中,我们将学习如何使用 Golang 中的递归查找自然数之和。

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

以下是两个示例,展示了两种不同类型的递归:直接和间接。

通过直接递归方法查找自然数之和

语法

func recursion() {
   recursion()
}
func main() {
   recursion();
}

算法

  • 步骤 1 - 导入包 fmt

  • 步骤 2 - 创建函数 naturalnum()

  • 步骤 3 - 我们将使用 if...else 条件语句

  • 步骤 4 - 启动函数 main()

  • 步骤 5 - 初始化整数变量

  • 步骤 6 - 调用函数 naturalnum()

  • 步骤 7 - 使用 fmt.Printf() 在屏幕上打印结果

示例

使用 Golang 程序代码查找自然数之和使用直接递归方法进行递归。

// GOLANG PROGRAM TO FIND THE SUM OF // NATURAL NUMBERS USING RECURSION package main // fmt 包提供了打印任何内容的功能 import ( "fmt" ) // defining the function with a parameter of int // type and have a return type int func naturalnum(num int) int { // this is the base condition // if num is not equal 0 if num != 0 { // recursive call to itself return num + naturalnum(num-1) } else { // function will return num and end the recursive function return num } } // start the main() function func main() { fmt.Println("Golang Program to find the sum of natural numbers using recursion") // initializing the integer variable number := 10 // calling the naturalnum() function fmt.Printf("Sum of all the natural numbers till %d is %d", number, naturalnum(number)) // Prints the final result }

输出

Golang Program to find the sum of natural numbers using recursion
Sum of all the natural numbers till 10 is 55

代码说明

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

  • 我们导入了包含 fmt 包文件的 fmt 包

  • 接下来,我们创建一个函数 naturalnum (),使用递归技术来查找自然数的总和

  • 我们声明了整数变量 num

  • 我们将使用 if...else 条件语句,如果指定的条件为真,则执行一个代码块,如果条件为假,则执行另一个代码块。

  • 如果 num 不等于 0,则递归调用函数本身

  • Else 函数将返回 num 并结束递归函数

  • 现在启动 main() 函数

  • 接下来初始化整数变量数

  • 现在调用naturalnum()函数

  • 最后使用fmt.Printf()将结果打印在屏幕上。

通过间接递归方法求自然数之和

语法

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

算法

  • 步骤 1 - 导入包 fmt

  • 步骤 2 - 创建函数 natural1 ()

  • 步骤 3 - 我们将使用 if...else 条件语句

  • 步骤 4 - 创建函数 natural2()

  • 步骤 5 - 间接递归调用函数 natural1()

  • 步骤 6 - 启动函数 main()

  • 步骤 7 - 初始化整数变量 num

  • 步骤 8 - 调用函数natural1()

  • 第 9 步 - 使用 fmt.Printf() 在屏幕上打印结果

示例

使用间接递归方法使用递归查找自然数之和的 Golang 程序代码

// GOLANG PROGRAM TO FIND THE SUM OF // NATURAL NUMBERS USING RECURSION package main // fmt 包提供了打印任何内容的功能 import ( "fmt" ) // defining the function with a parameter of int // type and have a return type int func natural1(num int) int { // this is the base condition // if num is not equal 0 if num != 0 { // recursive call to the second function return num + natural2(num-1) } else { // function will return num and end the recursive function return num } } func natural2(num int) int { // this is the base condition // if num is not equal 0 if num != 0 { // recursive call to the first function indirectly return num + natural1(num-1) } else { // function will return num and end the recursive function return num } } // start the main() function func main() { fmt.Println("Golang Program to find the sum of natural numbers using recursion") // initializing the integer variable number := 50 // calling the natural1() function fmt.Printf("Sum of all natural numbers till %d is %d", number, natural1(number)) // Prints the final result }

输出

Golang Program to find the sum of natural numbers using recursion
Sum of all natural numbers till 50 is 1275

代码说明

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

  • 我们导入了包含 fmt 包文件的 fmt 包

  • 接下来,我们创建一个函数 natural1(),使用递归技术来计算自然数之和

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

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

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

  • 接下来,我们调用 natural1() 函数来计算自然数之和数字。

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

结论

在上面的两个例子中,我们成功地编译并执行了 Golang 程序代码,使用递归技术来查找自然数的总和。我们展示了直接和间接类型的递归方法。在第一个例子中,我们展示了直接递归方法,在第二个例子中,我们展示了间接递归方法。


相关文章