'Monkey chooses the king' algorithm implemented in python
Oct 18, 2016 am 10:33 AMToday we will implement a Joseph Ring algorithm. Here is an interview question from Sina:
m monkeys sit in a circle, numbered from 1 to m clockwise. Then start counting from monkey No. 1 in a clockwise direction from 1, and the n monkey is out. Then count again from the next position of the monkey who just got out. Repeat this until there is only one monkey left, which is the king. Design and write a program to implement the following functions:
(1) The user is required to input the monkey number m at the beginning and the last number n reported.
(2) Give the initial number of the elected Monkey King.
This question is a typical Joseph Ring problem, the "monkey chooses the king" problem.
Note: This example passed the test under python2.7, but was not tested under python3. Interested students can communicate in the group
Go directly to the code:
#!/usr/bin/python # coding=utf-8 # 约瑟夫环算法 之 猴子选王 问题 def king(m,n): dd = {} #生成一个字典 p = 1 while(p<=m): dd[p] = p p = p+1 j = 1 while(len(dd) >1): for k,v in dd.items(): if(j == n): del dd[k] j = 1 else: j = j+1 return dd print king(6,2)
Note: A dictionary is used here, not a list. Mainly because this can take advantage of the index of the dictionary

Hot Article

Hot tools Tags

Hot Article

Hot Article Tags

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

How to Use Python to Find the Zipf Distribution of a Text File

How Do I Use Beautiful Soup to Parse HTML?

How to Work With PDF Documents Using Python

How to Cache Using Redis in Django Applications

Introducing the Natural Language Toolkit (NLTK)

How to Perform Deep Learning with TensorFlow or PyTorch?
