约瑟夫环算法(JAVA)
简介:约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3…n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。
以下是程序(主要部分)---------------------------------------------------------

import java.util.Scanner;
public class Jose {
// 初始化
static final int Num = 41;
static final int KillMan = 3;
public static void Josephus(int alive) {int man[] = new int[Num];int count = 1;int pos = -1, i = 0;while (count <= Num) {do {pos = (pos + 1) % Num;if (man[pos] == 0) // 没自杀的人标记为0i++; // 没自杀的人才计数if (i == KillMan) {i = 0;break;}} while (true);man[pos] = count; // 自杀之后标记为约瑟夫编号System.out.printf("第%d个人自杀,其约瑟夫编号为%d", pos + 1, count);System.out.println();count++;}}public static void main(String[] args) {int alive;System.out.println("输入存活人数:");Scanner input = new Scanner(System.in);alive = input.nextInt();Josephus(alive);
}

}

收获:---------------------------------------------------------------
1、 输入Scanner input=new Scanner(System.in);
该语句运行需要和system搭配;调出输入窗口;

2、 循环的层次需要分清楚

3.、 自杀的人没必要重新建立新的数组,只需要给出标记即可
自杀前不赋值,默认为0
自杀后赋值为约瑟夫编号;
且自杀后的数字不再进入新的循环;

整个程序耗时长,皆是因为不熟悉的缘故,而且思维需要锻炼;

约瑟夫环算法(JAVA)相关推荐

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

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

  2. 约瑟夫环 java代码_约瑟夫环算法的Java实现代码

    相信大家都知道这是一个的算法问题,约瑟夫环的c语言实现是利用了指针链表的形式,java实现呢,我的这个是用了内部类. 算法描述:n个人围成一圈,每人有一个各不相同的编号,选择一个人作为起点,然后顺时针 ...

  3. 【约瑟夫环】Java实现:100个人开始从1开始报数,每当报数到3,报数3的人离开,求最后留下来人的位置。

    [约瑟夫环]Java实现:100个人开始从1开始报数,每当报数到3,报数3的人离开,求最后留下来人的位置. 原创 2017年03月15日 00:21:36 标签: 约瑟夫环问题 1023 问题背景:约 ...

  4. C语言幸运星课程设计,涉及约瑟夫环算法,多个版本

    C语言幸运星课程设计,涉及约瑟夫环算法,多个版本,放于多个分支. 使用及转载请标明出处(最好点个赞及star哈哈) 版本1使用链表,函数传参 版本2使用链表,空参函数,全局变量 版本3使用动态数组 码 ...

  5. 约瑟夫环算法问题(C++)

    约瑟夫环算法问题 什么是约瑟夫环 约瑟夫环算法题 什么是约瑟夫环 约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知 n 个人(以编号1,2,3-n分别表示)围坐在一张圆桌周围.从编号为 k 的人开始报 ...

  6. 一文读懂约瑟夫环算法

    2020-05-25 20:13:40 作者 | 扬帆向海 责编 | 王晓曼 出品 | CSDN博客 问题描述 约瑟夫问题(有时也称为约瑟夫斯置换,是一个出现在计算机科学和数学中的问题.在计算机编程的 ...

  7. 一文读懂约瑟夫环算法 | 原力计划

    作者 | 扬帆向海 责编 | 王晓曼 出品 | CSDN博客 问题描述 约瑟夫问题(有时也称为约瑟夫斯置换,是一个出现在计算机科学和数学中的问题.在计算机编程的算法中,类似问题又称为约瑟夫环.又称&q ...

  8. python约瑟夫环算法和流程图_约瑟夫环问题及python与c++实现效率对比

    约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围.从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重 ...

  9. 约瑟夫环问题--java

    有编号从1到N的N个人坐成一圈报数,报到M的人出局,下一位再从1开始,  如此持续,直止剩下一位为止,报告此人的编号X.输入N,M,求出X. 那么问题就是,对于n个人,最后剩下的是谁呢? 对于5个人的 ...

最新文章

  1. 气温上升影响数据中心节能
  2. 多路径配置udev_ASM磁盘多路径及udev配置
  3. 超专业解析!10分钟带你搞懂Linux中直接I/O原理
  4. 在Eclipse中配置Tomcat服务
  5. 安全篇之手机数字密码九宫格究竟哪个更安全?
  6. BZOJ 1624 Usaco Clear And Present Danger
  7. NumPy学习_00 ndarray的创建
  8. python3环境运行python2代码_使用Anaconda实现Python2和Python3共存及相互转换
  9. 【分布式】一致性协议
  10. iviewtable表格数据 录音播放下载
  11. C ++ 指针 | 指针的操作_2
  12. 网络I/O模型--04非阻塞模式(解除accept()、 read()方法阻塞)的基础上加入多线程技术...
  13. Spring-core-Environment/profiles
  14. 【代码片段分享】获取公历日期阴历日期二十四节气干支纪年传统节日Java版
  15. 第7章第25节:双图排版:两张图片横竖交错叠加排版 [PowerPoint精美幻灯片实战教程]
  16. linux自定义自动补全命令
  17. 设计模式(一):观察者模式与责任链模式的对比
  18. Java面试快问快答-Instrument机制
  19. 最网最全python框架--scrapy(体系学习,爬取全站校花图片),学完显著提高爬虫能力(附源代码),突破各种反爬
  20. can协议crc计算_CAN协议中CRC编码的硬件实现

热门文章

  1. TP5 框架 出现No input file specified.错误
  2. linux用户模式驱动,linux设备驱动之控制台驱动
  3. 基于 VPX 总线的工件台运动控制系统研究与开发-DSP+FPGA硬件架构(一)
  4. HDU 4540 威威猫系列故事——打地鼠
  5. vue ui网页创建项目失败
  6. Mac下查看已安装的jdk版本及其安装目录
  7. 嵌入式课设-基于GPS模块的校园定位程序
  8. 判断推理——翻译推理
  9. win 11 添加VSCode至右键菜单
  10. vsat卫星通信系统