### Go Language - Program to Check Krishnamurthy Number

Hello everyone, today we will create a Go program to check if the given number is an Krishnamurthy number or not. Krishnamurthy number is also referred to as a Strong number.
A number is said to be Krishnamurthy if the factorial sum of all its digits is equal to that number.

## For example,

Number = 40585
= 4! + 0! + 5! + 8! + 5!
= 1 * 2 * 3 * 4 + 1 + 1 * 2 * 3 * 4 * 5 + 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 + 1 * 2 * 3 * 4 * 5
= 24 + 1 + 120 + 40320 + 120
= 40585

## Example 1: Go program that checks if the given number is a Krishnamurthy number or not.

`/*Go program to check whether the given *  number is a Krishnamurthy number or not. */package mainimport "fmt"// Main functionfunc main() {    //sample 1    number1 := 40585    KrishnamurthyNumber(number1)    //sample 2    number2 := 13789    KrishnamurthyNumber(number2)    //sample 3    number3 := 1009    KrishnamurthyNumber(number3)}func KrishnamurthyNumber(number int) {    //initialize sum to 0    sum := 0    //create a copy of the number    tempNumber := number    //perform operation until tempNumber will not equal to 0    for tempNumber != 0 {        /* calculate the factorial of the last digit           of the tempNumber and then add it to the sum        */        sum = sum + Factorial(tempNumber%10)        // replace the value of tempNumber by tempNumber/10        tempNumber = tempNumber / 10    }        //If sum == number equal, number is krishnamurthy number    if sum == number {        fmt.Println(number, "is Krishnamurthy Number")    } else {        fmt.Println(number, "is not a Krishnamurthy Number")    }}//Method to calculate the factorial of the numberfunc Factorial(number int) int {    fact := 1    for i := 1; i <= number; i++ {        fact *= i    }    return fact}`

## Example 2: Go program that checks if the number from the standard input is a Krishnamurthy number or not.

`/*Go program to check whether the number from the standard input *  is a Krishnamurthy number or not. */package mainimport "fmt"// Main functionfunc main() {    var number int    fmt.Println("Enter an integer value : ")    _, err := fmt.Scanf("%d", &number)    if err != nil {        fmt.Println(err)    }    KrishnamurthyNumber(number)}func KrishnamurthyNumber(number int) {    //initialize sum to 0    sum := 0    //create a copy of the number    tempNumber := number    //perform operation until tempNumber will not equal to 0    for tempNumber != 0 {        /* calculate the factorial of the last digit        of the tempNumber and then add it to the sum        */        sum = sum + Factorial(tempNumber%10)        // replace the value of tempNumber by tempNumber/10        tempNumber = tempNumber / 10    }    //If sum == number equal, number is krishnamurthy number    if sum == number {        fmt.Println(number, "is Krishnamurthy Number")    } else {        fmt.Println(number, "is not a Krishnamurthy Number")    }}//Method to calculate the factorial of the numberfunc Factorial(number int) int {    fact := 1    for i := 1; i <= number; i++ {        fact *= i    }    return fact}`