//出圈(java)
import java.util.LinkedList;
import java.util.List;
public class Cycle {
//cycle
private static int cycle(int total,int k){
List<Integer> dataList = new LinkedList<Integer>();
for(int i=0;i<total;i++){
dataList.add(new Integer(i+1));
}
//定义下标,模拟应经去掉一个元素
int index =-1;
//一直循环去除数据,直到只剩下一个元素
while(dataList.size()>1){
index = (index+k)%dataList.size();//得到应该出局的下标
dataList.remove(index--);//返回它的值
}
return ((Integer)dataList.get(0)).intValue();
}
//主方法
public static void main(String[] args) {
System.out.println("该数字原来的位置是:"+ cycle(41,3));
}
}
//测试结果
该数字原来的位置是:31