约瑟夫环 java实现
2024-08-31 04:32:18
问题:
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--;//修正
}
} }
}
測试结果:
最新文章
- Mysql 学习笔记2
- 7.Git的版本退回
- 2016年中国大学生程序设计竞赛(合肥)-重现赛1001 HDU 5961
- Codeforces Round #244 (Div. 2) B. Prison Transfer
- Intent 四个重要属性
- POJ 2112 Optimal Milking(最大流+二分)
- 可综合风格的VerilogHDL模块实例
- e3.tree参考手册
- 网络数据(socket)传输总结
- javascript系列之DOM(三)---事件
- php moungoDB
- MLlib--PIC算法
- java常用类--与用户互动
- Windows 查询端口占用
- JAVA spring 常用包作用详解(转)
- 防盗链技术终极解决方案(squid+cookie)
- 在Microsoft Dynamic 365/2016环境使用LinqPad查询数据(不使用linqpad Microsoft Dynamic 365 Driver)
- Python中的装饰器的初步理解
- SharePoint 常用操作杂谈
- php xss漏洞修复用手段和用到的一些函数
热门文章
- Sqli-labs less 13
- python datetime处理时间(转)
- 计蒜客NOIP2018模拟1
- rmq问题:ST表
- 【set】【链表】hdu6058 Kanade&#39;s sum
- python3-开发进阶 heapq模块(如何查找最大或最小的N个元素)
- mysql服务常用命令
- [转]xxx.hbm.xml文件配置详解
- 【mysql】mysql增加version字段实现乐观锁,实现高并发下的订单库存的并发控制,通过开启多线程同时处理模拟多个请求同时到达的情况 + 同一事务中使用多个乐观锁的情况处理
- Linux下启动和停止Java应用程序的Shell脚本