使用遞迴的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語言程式程式碼,使用遞迴技術來計算自然數之和。我們展示了直接和間接型別的遞迴方法。在第一個示例中,我們展示了直接遞迴方法,在第二個示例中,我們展示了間接遞迴方法。