据说著名犹太历史学家 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解答约瑟夫问题相关推荐

  1. java约瑟夫环 循环链表_约瑟夫环_循环链表JAVA解答

    编写测试案例 public class Cicle { @Test public void test() { LinkedList linkedList = new LinkedList(); lin ...

  2. 用java解决约瑟夫循环问题_Java采用循环链表结构求解约瑟夫问题

    本文实例讲述了Java采用循环链表结构求解约瑟夫问题的方法.分享给大家供大家参考.具体分析如下: 这是第一次java考试的试题,对于没看过链表的同学来说就不会做,现在回头看看,还真不难. 约瑟夫问题: ...

  3. 用java解决约瑟夫循环问题,Java实现循环列表解决约瑟夫环问题

    约瑟夫环:共有n个人围成一圈,从1开始报数,数到m的人出圈,求最后幸运者序号?? 下面用Java实现循环列表解决这个问题: package com.iteye.ljmdbc7a; import jav ...

  4. java实现约瑟夫环完整算法_Java简单实现约瑟夫环算法示例

    Java简单实现约瑟夫环算法示例 发布时间:2020-10-01 14:19:56 来源:脚本之家 阅读:104 作者:perfect亮 本文实例讲述了Java简单实现约瑟夫环算法.分享给大家供大家参 ...

  5. Java实现约瑟夫环问题

    约瑟夫环问题起源于一个犹太故事.约瑟夫环问题的大意如下: 罗马人攻占了桥塔帕特,41个人藏在一个山洞中躲过了这场浩劫.这41个人中,包括历史学家Josephus(约瑟夫)和他的一个朋友.剩余的39个人 ...

  6. Java数据结构-约瑟夫 作者:哇塞大嘴好帥(哇塞大嘴好帅)

    Java 约瑟夫 作者:哇塞大嘴好帥(哇塞大嘴好帅) 作者:哇塞大嘴好帥(哇塞大嘴好帅) 0.Josephu(约瑟夫) 分析 ​ 设编号为1,2,- n的n个人围坐一圈,约定编号为k(1<=k& ...

  7. JAVA实现约瑟夫问题

    自己选择的程序员的这条路,跪也要跪到终点. 文章目录 什么是约瑟夫问题 问题解决 实现思路 我们需要定义一个多大的数组? 起始值怎么选取 我们怎么计算叫到哪个小朋友了 小朋友出队列了,我们怎么模拟剩下 ...

  8. 田忌赛马 java_田忌赛马Java解答

    你一定听过田忌赛马的故事吧?如果3匹马变成1000匹,齐王仍然让他的马按从优到劣的顺序出赛,田忌可以按任意顺序选择他的赛马出赛.赢一局,田忌可以得到200两银子,输一局,田忌就要输掉200两银子,平局 ...

  9. 【算法】有序链表转换二叉搜索树和从中序与后序遍历序列构造二叉树Java解答参考

    三道算法题 1.有序链表转换二叉搜索树 Java代码参考 2.从中序与后序遍历序列构造二叉树 Java代码参考 3.移除元素 Java代码参考 1.有序链表转换二叉搜索树 给定一个单链表,其中的元素按 ...

最新文章

  1. 计算机背小学英语吗,小学英语课本点读电脑版
  2. 网络推广外包——网络推广外包专员表示网站营销推广重点细节要抓住
  3. 使用genext2fs制作ramdisk
  4. javaweb 图书管理系统完整代码_看一名Java开发人员以红队思维五分钟审计一套代码(续)...
  5. 浏览器怎么清理缓存_Mac系统浏览器缓存清理工具
  6. Tensorflow MNIST 手写识别
  7. php中的钩子理解及应用
  8. PHP FCKeditor2.5 解决上传图片问题
  9. 8.0版本jdbc驱动连接数据库
  10. Adobe PDF 生成PDF文件出错的解决办法
  11. Win10专业工作站版本激活并获得数字权利的方法和密钥
  12. java五险一金去从工资扣吗,五险一金需要自己交钱吗?是从工资里扣除还是......
  13. Dev C++ 源文件编译时,确实没问题,但是运行时,总是提示源文件 未编译
  14. LeetCode算法解析之“箭爆气球问题”
  15. 可穿戴设备的发展前景
  16. 无主之地3重型武器节奏评分榜(9.25) 枪械名 红字效果 元素属性 清图评分 Boss战评分 泛用性评分 特殊性评分 最终评级 掉落点 掉率 图片 瘟疫传播
  17. ubuntu 检测到外接显示器 但依然黑屏
  18. python文件操作练习题【学生成绩.txt】
  19. 一个直播源码搭建教程,教你如何完成一个完整的直播
  20. htmlmeta标签详细分析

热门文章

  1. 数字电路31(已知状态图设计同步时序电路)
  2. 工程竣工验收与竣工备案组织管理(270页PPT)
  3. 2022年CPA战略和风险管理【3月22日,刷题结束】
  4. 【102】汉典诗词-汉典系列的古诗词检索平台
  5. 《大数据》2020年第2期目次摘要
  6. 处于TIME_WAIT状态下收到syn包(臆想篇,望指正)
  7. 计算机主板按那三种方法分类,如何查看计算机主板型号,几秒钟即可了解三种方法...
  8. java注册页面表单_html实现用户注册页面(表单+表格)——html小练习
  9. MySQL空间数据函数
  10. 基于555芯片的延时小灯