public class spaceX {
private static long n = 100;
private static long k = 7;
public static void main(String[] args){
if((args != null)&&(args.length != 0)){
n = Long.parseLong(args[0]);
if(args.length > 2){
k = Long.parseLong(args[1]);
}
}
LinkedList<Long> list = new LinkedList<Long>();
/* 初始化鏈表 */
for(long i = 1; i<=n; i++){
list.add(i);
}
long index = 0;//鏈表索引
long j = 0;//報數
long count = 0;//出列了多少個
while(index < n - count){
//報數
j ++;
//出列
if(j == k){
j = 0;
//全部出列,返回
if(count == n - 1){
System.out.print("The survival:\t");
System.out.println(list.get(0));
return ;
}
System.out.println(list.get((int)index));
list.remove((int)index);
index --;
count ++;
}
//下一個
index++;
//一圈完畢,從頭開始重新遍歷
if(index == n -count){
index = 0;
}
}
}
}
運行命令
java -classpath spaceX-1.0-SNAPSHOT.jar com.spaceX 7 7