总共有多少人n,每隔着几个报数
func test( n int,spaceNum int) {
memberArr := []bool{}
for i := 0; i < n; i++ {
memberArr = append(memberArr, true)
}
count := 0 //计数器
index := 0 //下标
killNum := 0 //kill的人数
for {
if memberArr[index] {
count++
if count == spaceNum {
memberArr[index] = false
killNum++
count = 0
fmt.Printf("kill人数是%v\n", killNum)
fmt.Printf("数组是%v\n", memberArr)
fmt.Printf("idenx是%d\n", index)
}
}
index++
if index == len(memberArr) {
index = 0
fmt.Println("转了一圈了")
}
if killNum == len(memberArr)-1 {
fmt.Printf("数组是%v\n", memberArr)
break
}
}
for i,value := range memberArr {
if value {
fmt.Println("最后一个人的下标是:",i)
}
}
}
有疑问加站长微信联系(非本文作者)