如何在Go語言中使用遞迴查詢給定數字的反轉?
在本教程中,我們將學習如何在Go程式語言中找到給定數字的反轉。如果我們想修改`for`迴圈無法修改的函式,遞迴函式更合適。在本文中,我們將使用遞迴來實現這一點。
解釋
迭代1
Number = 54678 Reverse of number = 0 Reverse of number = Reverse of number * 10 + Number % 10 = 0 + 54678 % 10 = 0 + 8 = 8 Number = Number / 10 = 54678 / 10 = 5467
迭代2
Number = 5467 Reverse of number = 8 Reverse of number = Reverse of number * 10 + Number % 10 = 8 * 10 + 5467 % 10 = 80 + 7 = 87 Number = Number / 10 = 5467 / 10 = 546
迭代3
Number = 546 Reverse of number = 87 Reverse of number = Reverse of number * 10 + Number % 10 = 87 * 10 + 546 % 10 = 870 + 6 = 876 Number = Number / 10 = 546 / 10 = 54
迭代4
Number = 54 Reverse of number = 876 Reverse of number = Reverse of number * 10 + Number % 10 = 876 * 10 + 54 % 10 = 8760 + 4 = 8764 Number = Number / 10 = 54 / 10 = 5
迭代5
Number = 5 Reverse of number = 8764 Reverse of number = Reverse of number * 10 + Number % 10 = 8764 * 10 + 5 % 10 = 87640 + 5 = 87645 Number = Number / 10 = 5 / 10 = 0
使用遞迴查詢數字的反轉
在這個例子中,我們將使用遞迴查詢反轉。我們將數字的反轉儲存在一個全域性變數中。
演算法
步驟1 - 宣告變數以儲存實際數字和數字的反轉。
步驟2 - 使用數字作為引數呼叫遞迴函式。
步驟3 - 列印結果。
示例
package main
import (
// fmt package provides the function to print anything
"fmt"
)
// declaring the variable to store the reverse of the number
var reverseOfNumberGlobal = 0
func reverse(number int) int {
// returning if the number becomes zero
if number == 0 {
return 0
}
// finding reverse using mod and divide operator
reverseOfNumberGlobal = reverseOfNumberGlobal*10 + (number % 10)
// calling the function with a number as an argument
reverse(number / 10)
// returning the reverse
return reverseOfNumberGlobal
}
func main() {
// declaring the variable
var number, reverseOfNumber int
// initializing the variable
number = 54678
fmt.Println("Golang program to find the reverse of a number using a recursive function.")
fmt.Printf("The number is %d. \n", number)
// running for loop till the number becomes zero
reverseOfNumber = reverse(number)
// printing the result
fmt.Printf("The reverse is %d. \n", reverseOfNumber)
}
輸出
Golang program to find the reverse of a number using a recursive function. The number is 54678. The reverse is 87645.
結論
這就是我們在Go語言中使用遞迴查詢數字反轉的方法。遞迴呼叫的次數等於數字的位數。要了解更多關於Go的資訊,您可以瀏覽這些教程。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP