约瑟夫环模拟,约瑟夫环,已知n个人(以编号1,2
约瑟夫环模拟,约瑟夫环,已知n个人(以编号1,2
已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。
从编号为k的人开始报数,数到m的那个人出列;
他的下一个人又从1开始报数,数到m的那个人又出列;
依此规律重复下去,直到圆桌周围的人全部出列。
def solve(ring, start, stop): length = len(ring) if start > 1: ring = ring[start-1:] + ring[0:start-1]# print(ring) print("start counting ...") count = 0 while length > 1: for i in range(0, stop): print(i+1, end=" ") count += 1 if count > length: count = count % length# print("count: ", count) quit = ring.pop(count-1) ring = ring[count-1:] + ring[:count-1] length = len(ring) print("quit the ring: ", quit) count = 0# print(ring) return ringif __name__ == "__main__": """已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。 从编号为k的人开始报数,数到m的那个人出列; 他的下一个人又从1开始报数,数到m的那个人又出列; 依此规律重复下去,直到圆桌周围的人全部出列。 """ print(solve([1,2,3,4,5,6,7,8,9], 1, 5)) print(solve([1,2,3,4,5,6,7,8,9], 3, 5)) print(solve(['a','b','c','d','e','f','g','h','i','j','k'], 1, 3))#该片段来自于http://byrx.net
相关内容
- n皇后问题的优化解法,n皇后解法,采用打乱安置次序的
- Python版国旗,python国旗,from matplot
- 创建并修改excel,创建修改excel,创建一个excel,并且
- Gimp的python-plugins,gimppython-plugins,在用户选择图片上需要
- 获取主要城市的及时气温,获取主要城市气温,#coding=
- 登录网站,,from urllib
- 多线程采集图片,多线程采集,#! /usr/bin/
- python果然适合演示算法,python演示算法,def calc(str
- 使用python的正则表达式做词法分析器,python词法,#!use
- 很好玩的一个面试题,很好玩一个面试题,给定一个一亿
评论关闭