输入包括一行,一行中有五个各不相同的正整数a, b, c, d, e(1 ≤ a, b, c, d, e ≤ 100), 以空格分割
输出一个整数,表示它们的最小众倍数
1 2 3 4 5
4
package main import ( "fmt" "math" ) func main() { arr:=make([]int,5) for i:=0;i<5;i++{ fmt.Scan(&arr[i]) } ans:=math.MaxInt32 var dfs func([]int,int) dfs=func(path []int,idx int){ if len(path)>=3{ if len(path)>3{ return } x:=f(path[0],path[1],path[2]) if x<ans{ ans=x } return } for i:=idx;i<5;i++{ path=append(path,arr[i]) dfs(path,i+1) path=path[:len(path)-1] } } dfs([]int{},0) fmt.Print(ans) } func f(a,b,c int)int{ basic:=max(a,max(b,c)) for i:=basic;;i++{ if i%a==0&&i%b==0&&i%c==0{ return i } } return basic } func max(a,b int)int{ if a>b{ return a } return b }