201712-2 游戏 Java
思路: 第一感觉有点像约瑟夫环。想到用队列解决比较好理解 import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int k = sc.nextInt(); Queue<Integer> children = new LinkedList<Integer>(); for(int i=1;i<=n;i++) { children.offer(i); } for(int j=1;children.size()!=1;j++) { int temp = children.poll();//每个数都出队 if(!(j%k==0 || j%10==k)) {//如果不出局就再入队 children.offer(temp); } } sc.close(); System.out.println(children.poll()); } } 普通队列: LinkedList支持队列的行为,并且实现了Queue接口,上转型为Queue。