# Referred Coursework

The classical problem of Josephus requires a permutation of *n* soldiers (represented by integers {1..*n*}), which is generated by arranging them in a circle and removing the *m*th individual; the circle then closes up and the process is repeated until none is left. The permutation is the sequence in which the individuals are removed.

e.g. given n = 7 and m = 3, (i.e. 7 people arranged <1 2 3 4 5 6 7>), the Josephus permutation (or Josephus (7,3) in our notation) is < 3 6 2 7 5 1 4 >

Josephus (8,5) -> < 5 2 8 7 1 4 6 3 >

The course work problem is to animate the generation of a Josephus permutation , Josephus (n,m), with the constraints that for any permutation 1 < n < 100 and 1 _<_ m < n

Note that this exercise is NOT concerned at all with the efficiency of the generation algorithm ??" it is absolutely fine to ‘count on m from the current one’2.

The key behaviour is the on screen animation, showing all the soldiers3 initially alive and then the sequence in which they are ‘selected’. Your solution must allow the user to:

· Choose n and m, while enforcing the constraints of their values;

· View the initialized soldiers, before calculating the permutation;

· Step through the construction of the permutation, with a text commentary visible to describe the process;

· Inspect the complete permutation.

You must submit :

* An executable version of your solution;

* The complete project sources, in electronic format;

* A listing of all the code in your project, appropriately commented and clearly identifying any of the code that has not been developed exclusively by you;

* Evidence of your program running.

Note

* A soldier can be displayed simply by their number in the sequence; you do not need to develop pictures/icons etc . However you should note that it will be necessary to display at least 3 states for each - live, dead and ‘being counted’.

## Deliverables

1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. 2) Installation package that will install the software (in ready-to-run condition) on the platform(s) specified in this bid request. 3) Complete ownership and distribution copyrights to all work purchased.

## Platform

windows 98 and 2000