publicclassJosephus{publicstaticvoidmain(Stringargs[]){if(args.length!=2)//处理参数数目不正确情况{System.out.println("PleaseInputanumber!");return;}inti,j,n,m;n=Integer.p...

public class Josephus

{

public static void main(String args[])

{

if(args.length != 2) //处理参数数目不正确情况

{

System.out.println("Please Input a number!");

return;

}

int i, j, n, m;

n = Integer.parseInt(args[0]);

m = Integer.parseInt(args[1]);

if (n <= 0 || m <= 0) //处理参数值不正确的情况

{

System.out.println("Paramter must bigger than zero!");

return;

}

int a[] = new int[n];

for (i = 0; i < n; i++) a[i] = i + 1;

int k = 1; //标识处理第k个离开的人

i = -1; //数组下标,下一个为0,即第一个人

while (true) //k等于n表示只剩下一个人了

{

for (j = 0; j < m;) //在圈中数m个人

{

i = (i + 1) % n;

if (a[i] >0) j++; //a[i] >0表示第i个人还没有离开

}

if(k==n) break;

System.out.println("No." + a[i] + " is out!");

a[i] = -1; //表示该人离开

k++;

}

System.out.println("No." + a[i] + " is the winner!");

}

}

主要是我不明白while循环里面语句的意思,希望能过尽量把原理说明白一点。多谢了

展开

java 圆桌_约瑟夫问题求解释(圆桌问题)Java相关推荐

  1. 小白学习python好还是java好_小白应该学Python还是Java?

    Java和Python两门语言都是目前非常热门的语言,可谓北乔峰南慕容,二者不分上下,棋逢对手.但是对于初学者来说,非常困惑,因为时间和精力有限,上手必须要先学一门,到底选那个好呢,今天3分钟带你透彻 ...

  2. cmd编译java命令_使用CMD命令编译执行java命令

    写程序时,有时候需要动态编译执行,经过各种百度及实战,总结一些使用经验. .java文件分为有包名,无包名,又分为有jar包,无jar包,是否指定jre等等. 接下来总结如下: cmd 编译执行jav ...

  3. selenium java 验证码_如何使用Selenium WebDriver和Java从图像(验证码)中读取文本

    我有注册网页,但在最后验证码显示.. 我无法从图像中读取文本.我要提一下代码和输出.. @Test public void loginTest() throws InterruptedExceptio ...

  4. 精通java图片_面试必备:详解Java I/O流,掌握这些就可以说精通了?

    Java IO概述 IO就是输入/输出.Java IO类库基于抽象基础类InputStream和OutputStream构建了一套I/O体系,主要解决从数据源读入数据和将数据写入到目的地问题.我们把数 ...

  5. 零基础可以学习java吗_零基础真的可以学习java吗?

    Java是一个比较抽象的开发语言,涉及知识点比较多,如果自学的话,可以按照五个阶段来学习,先学好基础知识,再逐步扩展,由易到难.要注意视频和书本内容相辅相成,切记不要只看视频而不忽略书本基础的知识要点 ...

  6. lr java脚本_【上海校区】 LR Java脚本编写方法

    之前在某一家银行也接触过java写的性能接口脚本,最近因项目,也需编写java接口性能测试脚本,脑袋一下懵逼了,有点不知道从何入手.随后上网查了相关资料,自己又稍微总结了一下,与大家共同分享哈~ 首先 ...

  7. 第三方工具监控java进程_前9个免费的Java进程监视工具以及如何选择一种

    第三方工具监控java进程 这样就可以运行Java代码了. 也许它甚至可以在生产服务器上运行. 当您做好工作后,我们得到了好消息和令人讨厌的消息. 令人讨厌的消息是,现在开始调试. 就是进行调试和应用 ...

  8. amd cpu不能在cmd环境下运行java代码_如何在Windows10中配置java的JDK环境

    今天给大家分享一下如何配置java的JDK环境.操作步骤如下: 1.下载好 jdk 的安装文件,我下载的是 jdk-10.0.1_windows-x64_bin.exe 这个版本的安装文件: 2.使用 ...

  9. 银河麒麟配置java环境_中标麒麟系统上安装Java、Eclipse指南.doc

    中标麒麟系统上安装Java环境指南 Java_NeoKylin_Install_Guide 2015-01-12 修订记录 序号 版本号 日期 修订人 摘要 1 1.0 目录Content 概述 -- ...

最新文章

  1. 如何理解JS的单线程?
  2. 一点一滴培养你的领导气质
  3. 为何人工智能(AI)首选Python?如何转行Python人工智能?
  4. 一天一个设计模式(一) - 总体概述
  5. Ubuntu 16.04下减小/释放/清理VirtualBox虚拟硬盘文件的大小
  6. Docker仓库搭建
  7. 在python的dataframe中进行类似于mysql的join操作(持续更新)
  8. 他曾经负债2.5亿,如今身价超过500亿
  9. POJ3734-Blocks【EGF】
  10. 二叉搜索树的第k个节点
  11. RabbitMQ的web界面解析
  12. idea新增文件自动添加到版本控制
  13. 动态规划 —— 最长递增子序列(LIS)
  14. 对文件、字符串和byte数组进行MD5加密
  15. win7下安装openSSH
  16. 有道词典java下载电脑版下载手机版下载安装_网易有道词典下载-网易有道词典 安卓版v8.3.4-PC6安卓网...
  17. mysql 数据库存放图片路径_mysql数据库可以存图片路径?
  18. smartdns使用指南_OpenWrt之SmartDNS 使用教程(PLUS+版)
  19. 天河二号计算机是微型计算机,计算机二级考试真题-PPT-天河二号超级计算机
  20. Linux系统下Lame环境的搭建

热门文章

  1. scp有证书的传输,压缩,解压
  2. mysql查询锁表语句和kill对应的线程
  3. 【例子】外键约束的创建及例子
  4. Java是类型安全的语言,而C++是非类型安全的?【解释】
  5. python(numpy,pandas10)——pandas 合并数据 concat,append
  6. stateflow错误:Error in port widths or dimensions.
  7. 为什么IEE754标准中,32位浮点数的指数转换为阶码时需要加上数值为127的偏移量?
  8. 计算机转集成光学,最新集成光学考试总结.docx
  9. python爬虫科研数据提取_python爬虫数据提取四之pyquery
  10. JQuery:多张图片的淡入淡出效果。