Go 回文数程序

如果一个数字反转后保持不变,则它是一个回文数。例如,242 是一个回文数。此程序使用 for 循环来检查给定的数字是否是回文数。

首先,我们使用 for 循环 (for temp := palNum; temp > 0; temp = temp / 10) 来反转给定的数字。接下来,我们使用 If else 语句 (if palNum == reverse) 来检查反转后的数字是否等于给定的数字。如果为 True,则是回文数;否则,不是回文数。

package main

import "fmt"

func main() {

    var palNum, remainder int

    fmt.Print("Enter the Number to check Palindrome = ")
    fmt.Scanln(&palNum)

    reverse := 0

    for temp := palNum; temp > 0; temp = temp / 10 {
        remainder = temp % 10
        reverse = reverse*10 + remainder
    }

    fmt.Println("The Reverse of the Given Number = ", reverse)
    if palNum == reverse {
        fmt.Println(palNum, " is a Palindrome Number")
    } else {
        fmt.Println(palNum, " is Not a Palindrome Number")
    }
}
SureshMac:GoExamples suresh$ go run palindrome1.go
Enter the Number to check Palindrome = 191
The Reverse of the Given Number =  191
191  is a Palindrome Number
SureshMac:GoExamples suresh$ go run palindrome1.go
Enter the Number to check Palindrome = 125
The Reverse of the Given Number =  521
125  is Not a Palindrome Number

Go 语言检查回文数的函数程序

package main

import "fmt"

var reverse int = 0

func revNumber(palNum int) int {
    var remainder int

    for ; palNum > 0; palNum = palNum / 10 {
        remainder = palNum % 10
        reverse = reverse*10 + remainder
    }
    return reverse
}
func main() {

    var palNum int

    fmt.Print("Enter the Number to check Palindrome = ")
    fmt.Scanln(&palNum)

    reverse = revNumber(palNum)
    fmt.Println("The Reverse of the Given Number = ", reverse)

    if palNum == reverse {
        fmt.Println(palNum, " is a Palindrome Number")
    } else {
        fmt.Println(palNum, " is Not a Palindrome Number")
    }
}
SureshMac:GoExamples suresh$ go run palindrome2.go
Enter the Number to check Palindrome = 1331
The Reverse of the Given Number =  1331
1331  is a Palindrome Number
SureshMac:GoExamples suresh$ go run palindrome2.go
Enter the Number to check Palindrome = 2112
The Reverse of the Given Number =  2112
2112  is a Palindrome Number

在此示例中,我们声明了一个递归函数来查找回文数。

package main

import "fmt"

var reverse int = 0

func revNumber(palNum int) int {
    var remainder int

    if palNum > 0 {
        remainder = palNum % 10
        reverse = reverse*10 + remainder
        revNumber(palNum / 10)
        return reverse
    } else {
        return 0
    }
}
func main() {

    var palNum int

    fmt.Print("Enter the Number to check Palindrome = ")
    fmt.Scanln(&palNum)

    reverse = revNumber(palNum)
    fmt.Println("The Reverse of the Given Number = ", reverse)

    if palNum == reverse {
        fmt.Println(palNum, " is a Palindrome Number")
    } else {
        fmt.Println(palNum, " is Not a Palindrome Number")
    }
}
Enter the Number to check Palindrome = 121
The Reverse of the Given Number =  121
121  is a Palindrome Number

示例将打印最小和最大限制值之间的回文数。

package main

import "fmt"

func main() {

    var palNum, temp, reverse, palMin, palMax, remainder int

    fmt.Print("Enter the Minimum and Maximum limit of Palindrome = ")
    fmt.Scanln(&palMin, &palMax)

    fmt.Print("Palindrome Numbers between ", palMin, " and ", palMax, " are : ")
    for palNum = palMin; palNum <= palMax; palNum++ {
        reverse = 0
        for temp = palNum; temp > 0; temp = temp / 10 {
            remainder = temp % 10
            reverse = reverse*10 + remainder
        }
        if palNum == reverse {
            fmt.Print(palNum, "\t")
        }
    }
}
Golang Palindrome Number Program