java解答约瑟夫问题
据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。然而Josephus 和他的朋友并不想遵从。首先从一个人开始,越过k-2个人(因为第一个人已经被越过),并杀掉第k个人。接着,再越过k-1个人,并杀掉第k个人。这个过程沿着圆圈一直进行,直到最终只剩下一个人留下,这个人就可以继续活着。问题是,给定了和,一开始要站在什么地方才能避免被处决?Josephus要他的朋友先假装遵从,他将朋友与自己安排在第16个与第31个位置,于是逃过了这场死亡游戏。
java解答
public static void main(String[] args) {ArrayList<String> strs= new ArrayList<>();for (int i = 0; i < 41; i++) {strs.add((i + 1)+"");}get(strs,3);}public static void get(ArrayList<String>strs, int n) {int i=0;while (strs.size() > 1) {if(n==i+1){//数到n的数字移出去i=0;//重新开始数System.out.println(strs.remove(i));}strs.add(strs.remove(0));//把第一个移动到最后一个i++;}System.out.println(strs.remove(0));//输出最后一个数字}
java解答约瑟夫问题相关推荐
- java约瑟夫环 循环链表_约瑟夫环_循环链表JAVA解答
编写测试案例 public class Cicle { @Test public void test() { LinkedList linkedList = new LinkedList(); lin ...
- 用java解决约瑟夫循环问题_Java采用循环链表结构求解约瑟夫问题
本文实例讲述了Java采用循环链表结构求解约瑟夫问题的方法.分享给大家供大家参考.具体分析如下: 这是第一次java考试的试题,对于没看过链表的同学来说就不会做,现在回头看看,还真不难. 约瑟夫问题: ...
- 用java解决约瑟夫循环问题,Java实现循环列表解决约瑟夫环问题
约瑟夫环:共有n个人围成一圈,从1开始报数,数到m的人出圈,求最后幸运者序号?? 下面用Java实现循环列表解决这个问题: package com.iteye.ljmdbc7a; import jav ...
- java实现约瑟夫环完整算法_Java简单实现约瑟夫环算法示例
Java简单实现约瑟夫环算法示例 发布时间:2020-10-01 14:19:56 来源:脚本之家 阅读:104 作者:perfect亮 本文实例讲述了Java简单实现约瑟夫环算法.分享给大家供大家参 ...
- Java实现约瑟夫环问题
约瑟夫环问题起源于一个犹太故事.约瑟夫环问题的大意如下: 罗马人攻占了桥塔帕特,41个人藏在一个山洞中躲过了这场浩劫.这41个人中,包括历史学家Josephus(约瑟夫)和他的一个朋友.剩余的39个人 ...
- Java数据结构-约瑟夫 作者:哇塞大嘴好帥(哇塞大嘴好帅)
Java 约瑟夫 作者:哇塞大嘴好帥(哇塞大嘴好帅) 作者:哇塞大嘴好帥(哇塞大嘴好帅) 0.Josephu(约瑟夫) 分析 设编号为1,2,- n的n个人围坐一圈,约定编号为k(1<=k& ...
- JAVA实现约瑟夫问题
自己选择的程序员的这条路,跪也要跪到终点. 文章目录 什么是约瑟夫问题 问题解决 实现思路 我们需要定义一个多大的数组? 起始值怎么选取 我们怎么计算叫到哪个小朋友了 小朋友出队列了,我们怎么模拟剩下 ...
- 田忌赛马 java_田忌赛马Java解答
你一定听过田忌赛马的故事吧?如果3匹马变成1000匹,齐王仍然让他的马按从优到劣的顺序出赛,田忌可以按任意顺序选择他的赛马出赛.赢一局,田忌可以得到200两银子,输一局,田忌就要输掉200两银子,平局 ...
- 【算法】有序链表转换二叉搜索树和从中序与后序遍历序列构造二叉树Java解答参考
三道算法题 1.有序链表转换二叉搜索树 Java代码参考 2.从中序与后序遍历序列构造二叉树 Java代码参考 3.移除元素 Java代码参考 1.有序链表转换二叉搜索树 给定一个单链表,其中的元素按 ...
最新文章
- 计算机背小学英语吗,小学英语课本点读电脑版
- 网络推广外包——网络推广外包专员表示网站营销推广重点细节要抓住
- 使用genext2fs制作ramdisk
- javaweb 图书管理系统完整代码_看一名Java开发人员以红队思维五分钟审计一套代码(续)...
- 浏览器怎么清理缓存_Mac系统浏览器缓存清理工具
- Tensorflow MNIST 手写识别
- php中的钩子理解及应用
- PHP FCKeditor2.5 解决上传图片问题
- 8.0版本jdbc驱动连接数据库
- Adobe PDF 生成PDF文件出错的解决办法
- Win10专业工作站版本激活并获得数字权利的方法和密钥
- java五险一金去从工资扣吗,五险一金需要自己交钱吗?是从工资里扣除还是......
- Dev C++ 源文件编译时,确实没问题,但是运行时,总是提示源文件 未编译
- LeetCode算法解析之“箭爆气球问题”
- 可穿戴设备的发展前景
- 无主之地3重型武器节奏评分榜(9.25) 枪械名 红字效果 元素属性 清图评分 Boss战评分 泛用性评分 特殊性评分 最终评级 掉落点 掉率 图片 瘟疫传播
- ubuntu 检测到外接显示器 但依然黑屏
- python文件操作练习题【学生成绩.txt】
- 一个直播源码搭建教程,教你如何完成一个完整的直播
- htmlmeta标签详细分析
热门文章
- 数字电路31(已知状态图设计同步时序电路)
- 工程竣工验收与竣工备案组织管理(270页PPT)
- 2022年CPA战略和风险管理【3月22日,刷题结束】
- 【102】汉典诗词-汉典系列的古诗词检索平台
- 《大数据》2020年第2期目次摘要
- 处于TIME_WAIT状态下收到syn包(臆想篇,望指正)
- 计算机主板按那三种方法分类,如何查看计算机主板型号,几秒钟即可了解三种方法...
- java注册页面表单_html实现用户注册页面(表单+表格)——html小练习
- MySQL空间数据函数
- 基于555芯片的延时小灯