当前位置: 首页 > news >正文

java顺序打印约瑟夫环_关于约瑟夫环问题,用java 编写程序,输出n个人出圈的顺序,书上的程序代码如下,但是有几点我搞不明白...

关于约瑟夫环问题,用java 编写程序,输出n个人出圈的顺序,书上的程序代码如下,但是有几点我搞不明白

关注:269  答案:1  mip版

解决时间 2021-01-28 18:01

e6cb1a03ad541b3098697807b7bf1798.png

提问者萬裏夢魂

2021-01-28 13:56

求大神相助~~

public class App_5

{

public static void main(String[] args)

{

final int N=13,S=3,M=5;//N为总人数,从第S个人开始报数,报数到M 的为出圈

int[] p=new int[N];//数组p用来标识已出圈的人

int[] q=new int[N];//数组q用于存放出圈顺序

int i,j,k,n=0;//n=?

k=S-2;//k从1开始数出圈人你的下标??【什么意思,搞不明白】

for(i=1;i<=N;i++)

{

for(j=1;j<=M;j++)//从1到M报数,计算 出圈人 的下标 (怎么计算??)

{

if(k==N-1)//当出圈人的下标达到末尾时

k=0;//出圈人的下标从0开始??【为什么?】

else

k++;//否则下标+1

if(p[k]==1)//若p[k]=1,说明下标为k的人已出圈【为什么,什么意思??】

j--;

}

p[k]=1;//将下标为k的数组元素置1,表示其出圈 【??】

q[n++]=k+1;

}

//将上行改为System.out.print((k+1)+"");后可去掉下面三行输出语句

System.out.println("出队顺序为:");

for(i=0;i

System.out.print(q[i]+"");//q[0]=??

}

}

最佳答案

e6cb1a03ad541b3098697807b7bf1798.png

二级知识专家不了解我就别说我变了

2021-01-28 14:50

你这个好麻烦啊, 理解 队列 和 桟 的区别

队伍    先进先出  FIFO

桟       先进后出  LIFO

本程序明显是队伍!!!

import java.util.* ;

public class T {

public static void main(String[] args) {

List list = new LinkedList();

//模拟15个人,编号是1-15

for(int i=1 ; i<=15 ; i++) {

list.add(i);

}

//模拟 叫到7的人出圈

show(list , 7);

}

public static void show(List list  , int n){

int i = 1 ;//每次报的数字

int count = 1 ;//记录第几次出圈

while(true){

//当list长度为1的时候代表就剩下1个人

if(list.size()==1){

System.out.println("第"+count+++"次是"+list.get(0));

return ;

}

//每次获取队里第一个人

int value = list.get(0);

//报完数后移开该人

list.remove(0);

//如果报数的人报的数字为n ,则打印

if(i == n) {

i = 1 ;

System.out.println("第"+count+++"次是"+value);

}else {

//如果报数的人报的数字不是n ,将该人排到队伍的后面,以便下次继续叫号

list.add(value);

//产生下次报数的数字

i++ ;

}

}

}

}

我要举报

如以上问答内容为低俗/色情/暴力/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!

→点此我要举报以上信息!←

推荐资讯

大家都在看

相关文章:

  • java翻译topping_java刚開始学习的人常见的问题
  • java里添加员工信息_SSH_框架整合4--添加员工信息
  • 毛刺现象 java_组合逻辑设计中的毛刺现象
  • java 有界类型_java泛型之有界类型
  • oracle mysql8_这一刻,MySQL 8终于追赶上了Oracle 8
  • power of three java_【LeetCode】326. Power of Three 3的幂(Easy)(JAVA)
  • python2和pytho3切换_电脑上同时安装Python2和Pytho
  • 学JS对学Java有用吗_【JS】编程语言那么多,为啥学Java的人那么多?
  • java offset用法_Java OffsetTime plusMinutes()用法及代码示例
  • php 判断是否对象_利用PHP判断JSON对象是否存在
  • php链接数据库2000,Linux下PHP连接Microsoft SQL Server 2000(图)
  • java获取内存变量,java – 易失性变量,从主内存刷新/读取
  • java二维函数怎么放到表里,调用函数传递二维数组
  • jsonrpc php使用,基于php的json rpc原理及应用
  • php正则表达式变量替换,js正则表达式replace替换变量方法
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • 【391天】每日项目总结系列128(2018.03.03)
  • Android 控件背景颜色处理
  • Angular2开发踩坑系列-生产环境编译
  • Docker: 容器互访的三种方式
  • Twitter赢在开放,三年创造奇迹
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 聊聊springcloud的EurekaClientAutoConfiguration
  • 深入 Nginx 之配置篇
  • 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • 移动端唤起键盘时取消position:fixed定位
  • ​软考-高级-信息系统项目管理师教程 第四版【第14章-项目沟通管理-思维导图】​
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • #android不同版本废弃api,新api。
  • #NOIP 2014# day.1 T2 联合权值
  • #NOIP 2014#Day.2 T3 解方程
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (12)目标检测_SSD基于pytorch搭建代码
  • (4)(4.6) Triducer
  • (9)STL算法之逆转旋转
  • (二)斐波那契Fabonacci函数
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • .chm格式文件如何阅读
  • .NET Core 版本不支持的问题
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • .net MySql
  • .net websocket 获取http登录的用户_如何解密浏览器的登录密码?获取浏览器内用户信息?...
  • .Net Web窗口页属性
  • .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter
  • .net 打包工具_pyinstaller打包的exe太大?你需要站在巨人的肩膀上-VC++才是王道
  • .net 调用php,php 调用.net com组件 --
  • .net 后台导出excel ,word
  • .Net 应用中使用dot trace进行性能诊断
  • .NET框架
  • @EnableWebMvc介绍和使用详细demo
  • [bzoj1912]异象石(set)
  • [CDOJ 838]母仪天下 【线段树手速练习 15分钟内敲完算合格】
  • [docker] Docker的数据卷、数据卷容器,容器互联