2012年3月5日

csu 1054 约瑟夫环

摘要: 约瑟夫环的一个特殊情形:m = 2;"我们把k设为2,然后给n个人,如果最后留下来的人是编号为n的,那么n就叫fix number.现在的问题是,如果给出一个数,要求输出是不是fix number.如果是fix number的话,就输出"Oh,It's a fix number",如果不是的话就输出"Sorry,It isn't a fix number""开始我怀疑形如 2^n-1 是 fix number(充要),只是通过拿 7 和 3 试验感觉到的,后来看了维基百科中的一段话(对k=2情况的讨论)后确信了。下面的 阅读全文

posted @ 2012-03-05 20:21 getgoing 阅读(355) 评论(0) 推荐(0)

约瑟夫环问题(基本)

摘要: n个人围成圈,依次编号为1,2,..,n,现在从1号开始依次报数,当报到m时,报m的人退出,下一个人重新从1报起,循环下去,问最后剩下那个人的编号是多少?递归法参见百度百科:Josephus(约瑟夫)问题的数学方法递推式: 将这些人的编号用对总人数取模所得余数代替(即原编号减一),其中 Fn 表示n个人的环,最后剩下的那个人的编号。由这个递推式不难写出相应代码:/* 约瑟夫环问题 */# include <stdio.h>int main(){ int m, n, i, s; while (~scanf("%d%d", &m, &n)) { s 阅读全文

posted @ 2012-03-05 19:11 getgoing 阅读(3876) 评论(0) 推荐(0)

导航