c语言大家一起做游戏

[复制链接]
查看11 | 回复1 | 2013-11-3 10:34:53 | 显示全部楼层 |阅读模式
为了讨论方便,先把问题稍微改变一下,并不影响原意:问题描述:n个人(编号0~(n-1)),从0开始报数,报到m-1的退出,剩下的人继续从0开始报数。求胜利者的编号。我们知道第一个人(编号一定是(m-1)%n) 出列之后,剩下的n-1个人组成了一个新的约瑟夫环(以编号为k=m%n的人开始):k k+1 k+2 ... n-2,n-1,0,1,2,... k-2并且从k开始报0。我们把他们的编号做一下转换:k --> 0k+1 --> 1k+2 --> 2......k-3 --> n-3k-2 --> n-2序列1:0,1,2,3 … n-2,n-1序列2:0,1,2,3 … k-2,k,…,n-2...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行