模拟队列操作。 注意当n == 1时第一行输出末尾没有空格。PE一次~~~
代码 :
import java.util.*;
public class Main10935 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
Queue<Integer> q = new LinkedList<Integer>();
while(true) {
int n = scan.nextInt();
if(n == 0) break;
for(int i=1; i<=n; i++) {
q.offer(i);
}
System.out.print("Discarded cards:");
int cnt = 0;
while(true) {
cnt ++;
if(q.size() == 1) break;
//q.poll();
if(cnt == 1)
System.out.print(" " + q.poll());
else
System.out.print(", " + q.poll());
q.offer(q.poll());
}
System.out.println();
System.out.println("Remaining card: " + q.poll());
}
}
}