问题描述
- 编程题,编号,删除单数
-
50个小朋友按序号排成一列老师要求单号出列,剩下的孩子重新编号,然后再次要求单号出列 ,如此反复,最后只剩下一个孩子。问他原来是几号,怎么编程,用链表么??。
解决方案
http://blog.csdn.net/wenhai_zh/article/details/9620847
解决方案二:
约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。
你的问题,n个人=50个人 从编号为k的人开始报数,k=0 数到m的那个人出列,m=1
解决方案三:
约瑟夫环是不记得了 不过我觉得可以用链表
链表A
复制一份链表为B
然后对B进行删除(单数判断)循环操作直到剩下一个人为止
将这个人在链表A中遍历并找到他的位置 就找到他的编号了
解决方案四:
百度找找约瑟夫环 一个类型的
时间: 2024-11-18 06:31:58