33,006
社区成员
发帖
与我相关
我的任务
分享
int yuesefu(int n,int m)//这个计算方法如何理解呢?
{
int i,r=0;
for(i=2;i<=n;i++)
r=(r+m)%i;
return r+1;
}
import java.util.ArrayList;
import java.util.List;
public class JosephusRing{
public static void main(String[] args){
final int MAX = 10; //10个人围成一个圈
List list = new ArrayList();
for(int i =0;i<MAX;i++)
list.add("第"+i+"个孩子");
while(true)
{
if(list.size()==0)
break;
for(int i= 0;i<2;i++) //报到3的出列,其余先删除,后添加
list.add(list.remove(0));
System.out.println(list.remove(0));
}
}
}