一段简单的java代码实现约瑟夫问题
作者:互联网
public static int LuckyMan(int n,int m){
//n为总人数,m为剔除人数的数字
//首先将n个人先加入到list集合中
ArrayList<Integer> list = new ArrayList<>();
for(int i=1;i<=n;i++){
list.add(i);
}
//设立计数器count
int count =1;
//遍历list集合,直到剩下最后一个
for(int i=0;list.size()>1;i++){
//当角标超过最大值后 角标归0
if(i==list.size()){
i=0;
}
//当数到m的时候将该人从list中剔除,并将角标向前移一
if(count%m==0){
list.remove(i--);
}
count++;
}
return list.get(0);
}
标签:java,int,代码,list,约瑟夫,++,角标,剔除,ArrayList 来源: https://blog.csdn.net/sea_path/article/details/96608410