问题:

N个人从1到N编号。围城一圈,从1開始报数, 数到X时,将X的编号输出,并将那个人踢出,

下一个从1再開始报数,直到全部人都出去

思路:

就是计数。移除,没有太深的思想,直接上代码:

package test;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**
* N个人从1到N编号,围城一圈,
* 从1開始报数, 数到X时,将X的编号输出,并将那个人踢出,
* 下一个从1再開始报数,直到全部人都出去
* @author anjl
*
*/
public class My_JosephCircle { public static void main(String[] args) {
List alist = new ArrayList(); System.out.println("请输入约瑟夫环 中 总个数数:");
Scanner sca = new Scanner(System.in);
int N = sca.nextInt();
// 提示输入要出圈的数值
System.out.println("请输入要出圈的数值:");
int X = sca.nextInt();
System.out.println("按出圈的次序输出序号:"); for(int i=0 ;i<N;i++){
alist.add(i+1);
} int i=-1;
int countX=0;
while(alist.size()!=0){
++i;
if(i== alist.size()){
i=0;
}
++countX;
if(countX==X){//输出
System.out.print(alist.get(i)+ " ");
alist.remove(i);
countX=0;
i--;//修正
}
} }
}

測试结果:

最新文章

  1. Mysql 学习笔记2
  2. 7.Git的版本退回
  3. 2016年中国大学生程序设计竞赛(合肥)-重现赛1001 HDU 5961
  4. Codeforces Round #244 (Div. 2) B. Prison Transfer
  5. Intent 四个重要属性
  6. POJ 2112 Optimal Milking(最大流+二分)
  7. 可综合风格的VerilogHDL模块实例
  8. e3.tree参考手册
  9. 网络数据(socket)传输总结
  10. javascript系列之DOM(三)---事件
  11. php moungoDB
  12. MLlib--PIC算法
  13. java常用类--与用户互动
  14. Windows 查询端口占用
  15. JAVA spring 常用包作用详解(转)
  16. 防盗链技术终极解决方案(squid+cookie)
  17. 在Microsoft Dynamic 365/2016环境使用LinqPad查询数据(不使用linqpad Microsoft Dynamic 365 Driver)
  18. Python中的装饰器的初步理解
  19. SharePoint 常用操作杂谈
  20. php xss漏洞修复用手段和用到的一些函数

热门文章

  1. Sqli-labs less 13
  2. python datetime处理时间(转)
  3. 计蒜客NOIP2018模拟1
  4. rmq问题:ST表
  5. 【set】【链表】hdu6058 Kanade&#39;s sum
  6. python3-开发进阶 heapq模块(如何查找最大或最小的N个元素)
  7. mysql服务常用命令
  8. [转]xxx.hbm.xml文件配置详解
  9. 【mysql】mysql增加version字段实现乐观锁,实现高并发下的订单库存的并发控制,通过开启多线程同时处理模拟多个请求同时到达的情况 + 同一事务中使用多个乐观锁的情况处理
  10. Linux下启动和停止Java应用程序的Shell脚本