这个好像是josephus问题,我用链表写了一个:
public static int josephus(int all, int passes) {
List theList = new LinkedList();
for(int i=1;i<all+1;i++)
theList.add(new Integer(i));
Iterator it = theList.iterator();
while( theList.size()!=1 ) {
Integer temp = new Integer(0);
for(int i=1;i<=passes;i++) {
if(!it.hasNext())
it = theList.iterator();