输入字符串长度,字符串,计数m。从前往后计数,当数到m个元素时,m个元素出列,同时将该元素赋值给m,然后从下一个数计数循环,直到所有数字都出列,给定的数全部为大于0的数字。输出出队队列。
例如: 输入:len=4 str="3,1,2,4" m=7
输出:2,3,1,4
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class 数数出列 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner cin = new Scanner(System.in);
String line;
int M = 7;
while(cin.hasNext()){
line = cin.nextLine();
String[] strs = line.split(",");
List<Integer> nums = new ArrayList<Integer>();
List<Integer> out = new ArrayList<Integer>();
for(int i=0;i<strs.length;i++){
nums.add(Integer.parseInt(strs[i]));
}
int index = 0;
while(nums.size()>0){
int m = M%nums.size();
while(m>1){
index++;
if(index==nums.size())
index=0;
m--;
}
int del = nums.remove(index);
out.add(del);
if(index==nums.size())
index=0;
M = del;
}
System.out.println(out);
}
}
}