Go Program to find Generic Root of a Number

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 1

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

About Suresh

Suresh is the founder of TutorialGateway and a freelance software developer. He specialized in Designing and Developing Windows and Web applications. The experience he gained in Programming and BI integration, and reporting tools translates into this blog. You can find him on Facebook or Twitter.