python实现小孩报数问题
N个小孩围成一个圈,由第1个小孩开始报数,报数为M的人出局,请问最后出局的小孩是第几个
文章图片
图示 【python实现小孩报数问题】代码如下:
def baoshu(n, m):
"""
:param n: n个人
:param m: 报数为m出列
:return:
"""
baoshu = 0
child = [i for i in range(1, n+1)]#给小孩编号
while len(child) > 1:
baoshu += 1
child.append(child.pop(0))#将list第一个数放到list的末尾,将list围成一个圈
if baoshu == m:#判断报数与M是否相等,相等则移除该小孩
baoshu = 0
print child.pop()
print childif __name__ == '__main__':
baoshu(100, 10)
推荐阅读
- 关于QueryWrapper|关于QueryWrapper,实现MybatisPlus多表关联查询方式
- MybatisPlus使用queryWrapper如何实现复杂查询
- python学习之|python学习之 实现QQ自动发送消息
- 逻辑回归的理解与python示例
- 孩子不是实现父母欲望的工具——林哈夫
- opencv|opencv C++模板匹配的简单实现
- Node.js中readline模块实现终端输入
- python自定义封装带颜色的logging模块
- 【Leetcode/Python】001-Two|【Leetcode/Python】001-Two Sum
- java中如何实现重建二叉树