首页 > 试题广场 >

n个人围成一圈,依次从1至n编号。从编号为1的人开始至k报数

[问答题]

n个人围成一圈,依次从1至n编号。从编号为1的人开始至k报数,凡报数为k的人退出圈子,请编写程序输出最后留下的一个人原来的编号。

访问后的第k个标记为0,模拟移动时跳过0,到n取模
发表于 2017-03-09 18:17:22 回复(0)
约瑟夫环 思路1:简单模拟,将退出的人置0,跳过为0的人; 思路2:跳过0太过繁琐,使用链表; 思路3:数学推导,动归,f[i]=(f[i-1]+k)%n
发表于 2017-09-22 00:42:57 回复(0)