Skip to content

Instantly share code, notes, and snippets.

@shankar524
Last active January 29, 2020 06:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save shankar524/7240f58a1bfd5d31ded6bfbee650bfdf to your computer and use it in GitHub Desktop.
Save shankar524/7240f58a1bfd5d31ded6bfbee650bfdf to your computer and use it in GitHub Desktop.
Following program will print pallindrome tree from provided input number by asking user input.
/*
Following program will print pallindrome tree
from provided input number by asking user input.
A sample program outpust like:-
Enter any number:
9
1
212
32123
4321234
543212345
65432123456
7654321234567
876543212345678
98765432123456789
*/
package main
import (
"fmt"
"strconv"
)
func main() {
var input int
fmt.Println("Enter any number:")
fmt.Scanf("%d", &input)
if input > 0 && input < 10 {
printSeries(input)
} else {
fmt.Println("Sorry Invalid Number. Please enter number from 1 and 9.")
}
}
func printSeries(number int) {
for i := 1; i <= number; i++ {
spacePaddingCount := number - i
emptyString := emptyString(spacePaddingCount)
line := emptyString + generatePalindrome(i) + emptyString
fmt.Println(line)
}
}
func generatePalindrome(number int) string {
palindrome := ""
temp := number
for i:=0; i < 2 * number - 1; i++ {
palindrome += strconv.Itoa(temp)
if i < number - 1 {
temp -= 1
} else {
temp += 1
}
}
return palindrome
}
func emptyString(number int) string {
str := ""
for n := 1; n <= number; n++ {
str += " "
}
return str
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment