使用遞迴查詢最大公約數的Golang程式
在本教程中,我們將討論如何編寫一個 Golang 程式,使用遞迴查詢最大公約數 GCD。
兩個或多個數字的最大公約數 (GCD) 是能夠精確地整除它們的最大的公因子。它也稱為最大公因數 (HCF)。例如,15 和 10 的最大公因數是 5,因為這兩個數字都可以被 5 整除。
15/5 = 3 10/5 = 2
演算法
步驟 1 − 匯入 fmt 包
步驟 2 − 開始 main() 函式
步驟 3 − 我們將使用 if 條件語句
步驟 4 − 對函式本身進行遞迴呼叫
步驟 5 − 開始 main() 函式
步驟 6 − 呼叫 factorialnumber() 函式
步驟 7 − 使用 fmt.Println() 在螢幕上列印結果
示例 1
// GOLANG PROGRAM TO FIND GCD USING RECURSION package main // fmt package provides the function to print anything import "fmt" // function prototype func main() { // declare the variables var n1 int var n2 int fmt.Println("Golang Program to find GCD using recursion") // initialize the variables n1 = 36 n2 = 60 // print the result using in-built function fmt.Println() fmt.Println("G.C.D OF", n1, n2,"is",hcf(n1,n2)) } // create the function hcf() func hcf(n1 int, n2 int) int { if (n2 != 0) { return hcf(n2, n1 % n2); } else { return n1; } }
輸出
Golang Program to find GCD using recursion G.C.D OF 36 60 is 12
程式碼描述
在上面的程式中,我們首先宣告 main 包
我們匯入了 fmt 包,其中包含 fmt 包的檔案
現在開始 main() 函式。GO 程式的執行從 main() 函式開始
接下來,我們宣告並初始化整數變數 n1 和 n2
現在建立 hcf() 函式
我們將使用 if-else 條件語句來執行程式碼
在程式碼行:return hcf(n2, n1 % n2) 中:此處函式自身呼叫自身,遞迴呼叫
最後,使用內建函式 fmt.Println() 在螢幕上列印結果。此函式在 fmt 包中定義,有助於寫入標準輸出。
演算法
步驟 1 − 匯入 fmt 包
步驟 2 − 開始 main() 函式
步驟 3 − 宣告並初始化變數
步驟 4 − 建立 gcd() 函式
步驟 5 − 我們將使用 if else 條件語句
步驟 6 − 對函式本身進行遞迴呼叫
步驟 7 − 使用 fmt.Printf() 列印結果。
示例 2
// GOLANG PROGRAM TO FIND GCD USING RECURSION package main // fmt package provides the function to print anything import "fmt" func main() { // declare the variables var a int var b int var result int fmt.Println("Golang Program to find GCD using recursion") // initialize the variables a = 300 b = 60 result = gcd(a,b) // print the result using in-built function fmt.Printf() fmt.Printf("The GCD of %d and %d is %d.\n",a,b,result) } // create the function gcd() func gcd(a int,b int) int { for a != b { if b < a { return gcd(a - b,b) } else { return gcd(a,b - a) } } return a }
輸出
Golang Program to find GCD using recursion The GCD of 300 and 60 is 60.
程式碼描述
在上面的程式中,我們首先宣告 main 包
我們匯入了 fmt 包,其中包含 fmt 包的檔案
現在開始 main() 函式。GO 程式的執行從 main() 函式開始
接下來,我們宣告並初始化整數變數 a、b 和 result
變數“a”和“b”對應於要查詢其 GCD 的整數。變數 result 對應於計算 GCD 後的最終結果。
現在建立 gcd() 函式
我們將使用 for 迴圈和 if-else 條件語句來執行程式碼。for 迴圈用於檢查“a”和“b”變數的值是否都不相等。如果此條件為真,則執行迴圈。如果條件為假,則返回“a”的值。if-else 條件語句用於檢查“a”變數的值是否大於“b”變數的值。如果條件為真,則返回兩個整數變數值。否則,如果條件為假,則執行 else 語句並返回兩個整數變數的值。
在程式碼行:return gcd(a - b,b):return gcd(a,b - a) 中:此處函式自身呼叫自身,遞迴呼叫
最後,使用內建函式 fmt.Printf() 在螢幕上列印結果。此函式在 fmt 包中定義,有助於寫入標準輸出。
結論
在以上兩個示例中,我們已成功編譯並執行了 Golang 程式程式碼,使用遞迴技術查詢最大公約數 GCD。
我們使用 fmt println() 和 fmt.Println() 函式在輸出螢幕上列印結果。這裡我們展示瞭如何在 Go 語言中實現條件語句。我們在一個示例中使用了 if 條件,在另一個示例中使用了 for 迴圈。