使用遞迴的Go語言程式來計算自然數之和


在本教程中,我們將學習如何在Go語言中使用遞迴來計算自然數之和。

遞迴是指一個函式直接或間接地呼叫自身。每個遞迴函式都有一個基準情況或基準條件,這是遞迴中最終的可執行語句,並停止進一步的呼叫。

以下是展示兩種不同型別遞迴(直接和間接)的兩個示例。

使用直接遞迴方法計算自然數之和

語法

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

演算法

  • 步驟 1 − 匯入 fmt 包

  • 步驟 2 − 建立函式 naturalnum()

  • 步驟 3 − 我們將使用 if...else 條件語句

  • 步驟 4 − 開始 main() 函式

  • 步驟 5 − 初始化整型變數

  • 步驟 6 − 呼叫 naturalnum() 函式

  • 步驟 7 − 使用 fmt.Printf() 在螢幕上列印結果

示例

使用直接遞迴方法的Go語言程式程式碼,用於使用遞迴計算自然數之和。

// GOLANG PROGRAM TO FIND THE SUM OF // NATURAL NUMBERS USING RECURSION package main // fmt package provides the function to print anything 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,則遞迴呼叫自身函式

  • 否則函式將返回 num 並結束遞迴函式

  • 現在開始 main() 函式

  • 接下來初始化整型變數 number

  • 現在呼叫 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() 在螢幕上列印結果

示例

使用間接遞迴方法的Go語言程式程式碼,用於使用遞迴計算自然數之和

// GOLANG PROGRAM TO FIND THE SUM OF // NATURAL NUMBERS USING RECURSION package main // fmt package provides the function to print anything 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 包中定義,有助於寫入標準輸出。

結論

在以上兩個示例中,我們已成功編譯並執行了Go語言程式程式碼,使用遞迴技術來計算自然數之和。我們展示了直接和間接型別的遞迴方法。在第一個示例中,我們展示了直接遞迴方法,在第二個示例中,我們展示了間接遞迴方法。

更新於:2022年10月25日

271 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告