如果一个数字反转后保持不变,则它是一个回文数。例如,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")
}
}
}
