摘要: 【约瑟夫问题】 n(n>=3且∈N*)个人围成一圈,从某一个人开始报数,第m(m∈N*)个人退出圈,剩下的人继续报数,求最后一个退出圈的人。 [解答] 将n个人的编号设为0, 1, ..., n-1,从0开始报数0,报m-1的人退出圈。所求者编号f[n]。 第一个退出圈的人为(m-1)%n,剩下n-1个人重新编号,f[n]=(f[n-1]+m%n)%n=(f[n-1]+m)%n。 f[1]=0。 故f[n]=(f[n-1]+m)%n(其中f[1]=0)。 阅读全文
posted @ 2011-03-11 17:58 zxfx100 阅读(192) 评论(0) 推荐(0) 编辑