A number can be palindrome if it remains the same when we reverse it. For instance, 242 is a palindrome number. This program uses for loop to check whether the given number is palindrome or not.
First, we used for loop (for temp := palNum; temp > 0; temp = temp / 10) to reverse the given number. Next, we used the If else statement (if palNum == reverse) to check whether the reverse number equals a given number. If True, it is a palindrome; otherwise, not a palindrome number.
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 Program to Check Palindrome Number using Functions
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
In this example, we declared a recursive function to find the 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
This example will print the Palindrome numbers between the minimum and maximum limit values.
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")
}
}
}
