题意:
n个小朋友报数,从1开始,每报m个 这个小朋友就出局,下一个小朋友再从1开始报,最后剩余的小朋友的坐标是多少。
思路:
利用队列来做。预处理起始位置,每次数到m的小朋友出局,反之放到队列底。

import java.awt.List;
import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
int n = cin.nextInt();
int m = cin.nextInt();
Queue <Integer> q = new LinkedList<Integer>();
for(int i = 1;i <= n;i++)q.offer(i);
int t = 0;
while(q.size() != 1 ) {
int x = q.poll();
t++;
if(t == m) {
t = 0;
} else q.offer(x);
}
System.out.println(q.poll());
}
}