模拟队列操作。 注意当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()); } } }