45 lines
794 B
Go
45 lines
794 B
Go
|
|
/*
|
|||
|
|
* @Author : huangZJ
|
|||
|
|
* @Time : 2021/6/16 10:50
|
|||
|
|
* @Description:
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
package splitNumToN
|
|||
|
|
|
|||
|
|
import (
|
|||
|
|
"Go-Tool/util/rand"
|
|||
|
|
"fmt"
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
//将一个数拆解成三个
|
|||
|
|
func SplitNumTo3(num int) {
|
|||
|
|
randNumList := make([]int, 0)
|
|||
|
|
var count int
|
|||
|
|
for i := 0; i < 2; i++ {
|
|||
|
|
randNum := getRandValue(num-count, 3-1-i)
|
|||
|
|
randNumList = append(randNumList, randNum)
|
|||
|
|
count = count + randNum
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
randNumList = append(randNumList, num-count)
|
|||
|
|
|
|||
|
|
for _, num := range randNumList {
|
|||
|
|
fmt.Print(fmt.Sprintf("%d ", num))
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//num 被随机的数
|
|||
|
|
//count count + 1 = 总随机数数量
|
|||
|
|
func getRandValue(num int, count int) int {
|
|||
|
|
minValue := num - 6*count
|
|||
|
|
if minValue <= 0 {
|
|||
|
|
minValue = 1
|
|||
|
|
}
|
|||
|
|
maxValue := num - count*1
|
|||
|
|
if maxValue > 6 {
|
|||
|
|
maxValue = 6
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return rand.GetRandInt(minValue, maxValue)
|
|||
|
|
}
|