Python约瑟夫环问题代码
时间: 2024-05-13 17:11:27 浏览: 16
以下是Python实现约瑟夫环问题的代码[^1]:
```python
def Joseph(n,m):
a =[i for i in range(1,n+1)]
print(a)
m = m
while len(a) >= 1:
if len(a) >= m:
print(a[m-1])
# del a[m-1]
a = a[m:] + a[:m-1]
print(a)
else:
if (m%len(a)-1) != -1:
print(a[m%len(a)-1])
a = a[m%len(a):] + a[:m%len(a)-1]
print(a)
else:
print(a[m%len(a)-1])
a = a[:m%len(a)-1]
print(a)
if __name__ == '__main__':
n,m = input('Please enter n and m:').split()
Joseph(int(n),int(m))
```
该代码实现了输入n个人和间隔m个人,从第一个人开始报数,报到m的人出圈,下一个人重新从1开始报数,直到所有人都出圈为止。