美文网首页
Golang 约瑟夫环

Golang 约瑟夫环

作者: 邦_ | 来源:发表于2020-09-04 14:57 被阅读0次

总共有多少人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)
        }


    }


}

相关文章

  • Golang 约瑟夫环

    总共有多少人n,每隔着几个报数

  • 约瑟夫环问题

    约瑟夫环问题约瑟夫环描述:约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3…n分别表示)围...

  • 循环单链表实现约瑟夫环(C语言)

    约瑟夫环

  • 约瑟夫环

    题目:100名学生围成一个圈, 编号从1到100,从第一名学生开始报数,从1-9报数 每报出9就退出,直到所有学生...

  • 约瑟夫环

  • 约瑟夫环

    问题:1~n个人围成一圈,从1开始报数,每次数到m这个人就出列,问最后剩下的是几号? 做法:递归。 假设剩下的是f...

  • 约瑟夫环

    解法一 用一个list模拟删除过程 解法二 数学公式,推到过程还没看懂

  • 约瑟夫环

    之前去面试的时候遇到这个问题,作为一只算法渣渣,自然带着恐惧的心情,然后自己瞎捣鼓了好长时间终于拼凑出来了一个很菜...

  • 约瑟夫环

  • 约瑟夫环

    复习一下关于约瑟夫环的实现原理: 如果用C来写的话,也会有许多的方法,比如1:采用链表(双向链表)2:递归3:队列...

网友评论

      本文标题:Golang 约瑟夫环

      本文链接:https://www.haomeiwen.com/subject/xgbzsktx.html