本文主要是介绍题目 1160: 出圈,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目描述:
设有n个人围坐一圈并按顺时针方向从1到n编号,从第1个人开始进行1到m的报数,报数到第个m人,此人出圈,再从他的下一个人重新开始1到m的报数,如此进行下去直到所剩下一人为止。
代码:
package lanqiao;import java.util.*;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);List<Integer> list = new ArrayList<Integer>();int n = sc.nextInt();int m = sc.nextInt();for(int i = 1;i <= n;i ++){list.add(i);}int i = 0;while(list.size() != 1){i = (i + m - 1) % list.size();//链表中删除元素后会自动向前对齐list.remove(i);}System.out.println(list.get(0));}
}
这篇关于题目 1160: 出圈的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!