How to find the smallest number that is evenly divisible by all of the numbers from 1 to 10 in Go

1 Answer

0 votes
package main

import (
    "fmt"
)

// Function to find the Least Common Multiple (LCM) of two numbers
func lcm(a, b int) int {
    lmc := max(a, b) // Start with the larger of the two numbers

    // Loop indefinitely until we find the LCM
    for {
        // If lmc is divisible by both numbers, it is the LCM
        if lmc%a == 0 && lmc%b == 0 {
            return lmc // Return the LCM
        }
        lmc++ // Increment and check the next number
    }
}

// Helper function to return the maximum of two numbers
func max(a, b int) int {
    if a > b {
        return a
    }
    return b
}

func main() {
    result := 1

    // Iterate through numbers 1 to 10
    for i := 1; i <= 10; i++ {
        result = lcm(result, i) // Update result with LCM of current range
    }

    fmt.Println("The Least Common Multiple (LCM) of numbers from 1 to 10 is:", result)
}


 
/*
run:

The Least Common Multiple (LCM) of numbers from 1 to 10 is: 2520

*/

 



answered May 11 by avibootz
...