Write a Go Program to find the generic root of a Number using For loop. The generic root of a number is the sum of all digits until the sum is less than 10. For instance, generic root of 98 = 9 + 8 = 17 => 1 + 7 = 8. To achieve this, we used nested for loop (for sum = 0; genNumber > 0; genNumber = genNumber / 10) to find the sum of digits. And the if else statement (if sum >= 10) to check the sum greater than or equal to ten further divides the value.
package main import "fmt" func main() { var genNumber, sum, remainder int fmt.Print("Enter the Number to find Generic Root = ") fmt.Scanln(&genNumber) for genNumber >= 10 { for sum = 0; genNumber > 0; genNumber = genNumber / 10 { remainder = genNumber % 10 sum = sum + remainder } if sum >= 10 { genNumber = sum } else { fmt.Println("The Generic Root of this Number = ", sum) } } }
Go Program to find Generic Root of a Number using Functions
In this Golang program, we created a (func digitSum(genNumber int)) function that returns the generic root of a given number.
package main import "fmt" func digitSum(genNumber int) int { var sum, remainder int for sum = 0; genNumber > 0; genNumber = genNumber / 10 { remainder = genNumber % 10 sum = sum + remainder } return sum } func main() { var genNumber, sum int fmt.Print("Enter the Number to find Generic Root = ") fmt.Scanln(&genNumber) for genNumber >= 10 { sum = digitSum(genNumber) if sum >= 10 { genNumber = sum } else { fmt.Println("The Generic Root of this Number = ", sum) break } } }
SureshMac:Goexamples suresh$ go run genericRoot2.go
Enter the Number to find Generic Root = 7346
The Generic Root of this Number = 2
SureshMac:Goexamples suresh$ go run genericRoot2.go
Enter the Number to find Generic Root = 932784
The Generic Root of this Number = 6