约瑟夫环 java_约瑟夫环的java实现
引用
据说著名犹太历史学家 约瑟夫有过以下的故事:
在罗马人占领乔塔帕特后,39 个犹太人与约瑟夫及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。然而约瑟夫 和他的朋友并不想遵从,约瑟夫要他的朋友先假装遵从,他将朋友与自己安排在第16个与第31个位置,于是逃过了这场死亡游戏。
我的答案:
package test;
import java.util.ArrayList;;
public class CircleTest {
int m; //总人数
int n; //第几个出局
ArrayList circle = new ArrayList ();
public CircleTest(int m, int n) {
this.m = m;
this.n =n;
//初始化环
for (int i = 1; i <= m; i++) {
circle.add(String.valueOf(i));
}
print(circle);
}
public void doAction() {
ArrayList temp = null;
int k = n;//计数
while (true) {
temp = (ArrayList)circle.clone();
if (temp.size() == 1) {
System.out.println(temp.get(0)+"\n");//最后一个出局的人
break;
}
for (int i =0; i < temp.size(); i++) { //循环
k--;
if (k == 0) {
System.out.print(temp.get(i)+" ");//打印出局的人
circle.remove(temp.get(i)); //出局
k = n; //重新开始计数
}
}
}
}
//打印
public void print(ArrayList list){
for(int i=0;i
System.out.print(list.get(i)+" ");
}
System.out.print("\n\n");
}
public static void main(String args[]) {
CircleTest test = new CircleTest(41,3);
test.doAction();
}
}
分享到:
2013-05-17 10:40
浏览 3221
评论
约瑟夫环 java_约瑟夫环的java实现相关推荐
- 约瑟夫环 java_约瑟夫环Java实现
/** * 约瑟夫问题 * 设编号为 1,2,- n 的 n 个人围坐一圈, * 约定编号为 k(1<=k<=n)的人从 1 开始报数, * 数到 m 的那个人出列, * 它的下一位又从 ...
- 约瑟夫环(约瑟夫问题)求最后出列的人数
约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围.从编号为k的人开始报数,数到m的那个人出列:他的下一个人又从1开始报数,数到m的那个人又出 ...
- 0环权限高还是3环_环0到环3
0环权限高还是3环 Most likely, you're aware of the hardware "protection rings" in Intel Architectu ...
- 解题报告:luoguP2868 Sightseeing Cows G(最优比率环,负环判定,二分答案)
根据题意,我们要环上各点权值之和除以各边权值之和最大. 求最大答案,很明显可以使用二分答案.那么我们假设当前答案为 x,如果有更大的答案,那么方程就可以按下图转换: 也就是说如果有更大的答案,则有一个 ...
- Windows系统调用学习笔记(二)—— 3环进0环
Windows系统调用学习笔记(二)-- 3环进0环 要点回顾 基本概念 _KUSER_SHARED_DATA 0x7FFE0300 实验:判断CPU是否支持快速调用 第一步:修改EAX=1 第二步: ...
- 左神算法:两个单链表相交的一系列问题(链表是否有环 / 两无环链表是否相交 / 两有环链表是否相交)
本题来自左神<程序员代码面试指南>"两个单链表相交的一系列问题"题目. 题目 在本题中,单链表可能有环,也可能无环.给定两个单链表的头节点 head1 和 head2, ...
- 【永磁同步电机转速环ADRC电流环ADRC双环无传感器控制】
永磁同步电机转速环ADRC电流环ADRC无传感器控制 原理.仿真.波形.总结 转速环.电流环ADRC原理 仿真框图 仿真波形 总结 原理.仿真.波形.总结 转速环.电流环ADRC原理 1.转速环ADR ...
- 小白从零开始:STM32双闭环(速度环、位置环)电机控制(硬件篇)
小白从零开始:STM32平铺式双闭环(速度环.位置环)电机控制(硬件篇) 文章目录 前言 STM32平铺式双闭环电路设计 一.立创EDA(硬件设计) 二.PCB资料包获取方式 总结 前言 小白从零开始 ...
- 【PMSM】二. 经典电流环、速度环设计(下)
上一篇文章讨论了永磁无刷电机电流环.速度环的建模和控制器的参数整定,这篇文章会讨论前馈.滤波.抗饱和算法以及其他一些要注意的细节,且包含了大量工程经验.结合这两篇文章的内容,我们可以完整地使用经典 P ...
- 基于QPSK的载波同步和定时同步性能仿真,包括Costas环的gardner环
目录 1.算法描述 2.matlab算法仿真效果 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 载波同步是相干解调的基础,不管对于模拟通信还是数字通信来说,只要是相干解调,接收端都必须 ...
最新文章
- 虚拟主机用户ftp和apache用户文件互操作权限解决方法
- 计算机课件比赛总结,课件制作比赛活动总结
- day32 java 多线程(3)了解篇
- bzoj1562[NOI2009] 变换序列
- 使用Tomcat发布war包
- 阿里P9谈程序员——程序员的青春饭
- win7 计算机刷新dns,刷新dns,教您怎么刷新DNS
- Quartus II 安装
- IIS网站中下载.bat文件
- 【NOIP 费用流】JZOJ_3029 观光公交
- 虚拟化kvm-虚拟化概述
- citrix VPX 中申请证书的重点
- ECharts地图使用
- 54. Java序列化三连问,是什么?为什么需要?如何实现?
- android 8.0卡顿,安卓8.0是真的快!但一直说安卓卡的人,却不是iPhone用户
- 2022年版中国制冷设备市场深度分析与投资调研评估报告报告
- RHCSA (二) —— 常用简单命令Linux文件类型目录操作命令文件操作命令
- 特技世家出身导演史考特沃夫亲上阵搏命悬空摄影
- PPT结束语有哪些?
- “对不起,你的离职是我的错!”