Joseph_Circle(约瑟夫环)
//约瑟夫环:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,
//数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依次规律重复下去,直到圆
//桌周围的人全部出列。
//Java源程序如下
package Joseph_Circle;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Joseph_circle {
public static void Joseph(int total,int N,int count)
{
//初始化人数
List<Integer> start = new ArrayList<Integer>(); //Java中的泛型,即ArrayList只能存放整型数
for(int i=1;i<=total;i++)
{
start.add(i);
}
//从第k个开始计数
int k=N;
while(start.size()>0)
{
k = k + count - 1; //从第3个人开始数,数5个人,应该是第7个人
//第m个人的位置
k = k % (start.size()) - 1;
//判断是否到队尾
if(k<0)
{
System.out.print(start.get(start.size()-1) + " ");
start.remove(start.size() - 1);
k=0;
}
else
{
System.out.print(start.get(k) + " ");
start.remove(k);
}
}
}
public static void main(String[] args)
{
Scanner reader=new Scanner(System.in);
System.out.print("请输入总人数:");
int totalNum=reader.nextInt();
System.out.print("从第几个人开始报数:");
int start_N=reader.nextInt();
System.out.print("请输入报数的大小:");
int cycleNum=reader.nextInt();
Joseph(totalNum,start_N,cycleNum);
reader.close();
}
}
运行结果:
转载于:https://www.cnblogs.com/duanqibo/p/11193050.html
Joseph_Circle(约瑟夫环)相关推荐
- python中约瑟夫环程序_Python实现约瑟夫环问题的方法
本文实例讲述了Python实现约瑟夫环问题的方法.分享给大家供大家参考,具体如下: 题目:0,1,...,n-1这n个数字排成一个圆圈,从数字0开始每次从这个圆圈里删除第m个数字.求出这个圆圈里剩下的 ...
- 约瑟夫环问题的两种解法(详解)
约瑟夫环问题的两种解法(详解) 题目: Josephus有过的故事:39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓.于是决定了自杀方式,41个人排成一个圆 ...
- python约瑟夫环问题给十个学生编号报到3者出列_趣味算法--约瑟夫环问题(示例代码)...
问题描述 已知n个人(以编号1,2,3,...,n分别表示)围坐在一张圆桌上.指定编号为k的人开始从1报数,数到m的那个人出列:出列那个人的下一位又从1开始报数,数到m的那个人出列:以此规则重复下去, ...
- 一文读懂约瑟夫环算法
2020-05-25 20:13:40 作者 | 扬帆向海 责编 | 王晓曼 出品 | CSDN博客 问题描述 约瑟夫问题(有时也称为约瑟夫斯置换,是一个出现在计算机科学和数学中的问题.在计算机编程的 ...
- 面试题小记:1、统计字符串出现的次数,2、约瑟夫环问题
今天面到了一个比较有意思的笔试题,先记录一下: 1.字符串类似'aaabbccddd',写个方法得出'3a2b2c3d',即统计字符串出现的个数 $arr = str_split('aaabbccdd ...
- java实现简单的约瑟夫环问题(二)
Josephus(约瑟夫)问题的数学方法 前面的内容都是直接来来自于百度百科,后面才是我对这段话的理解 无论是用链表实现还是用数组实现都有一个共同点:要模拟整个游戏过程,不仅程序写起来比较烦,而且时间 ...
- 约瑟夫环双向链表c语言实,双向链表与约瑟夫环代码
双向链表 //注意:该文件操作的链表为带头结点双向链表,头结点数据为-1 #include #include #include #define OK 1 #define ERROR 0 typedef ...
- python解决约瑟夫问题_Python实现约瑟夫环问题的方法
本文实例讲述了Python实现约瑟夫环问题的方法.分享给大家供大家参考,具体如下: 题目:0,1,...,n-1这n个数字排成一个圆圈,从数字0开始每次从这个圆圈里删除第m个数字.求出这个圆圈里剩下的 ...
- 约瑟夫环(约瑟夫问题)求最后出列的人数
约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围.从编号为k的人开始报数,数到m的那个人出列:他的下一个人又从1开始报数,数到m的那个人又出 ...
最新文章
- R语言使用ggplot2绘制带有边缘直方图的散点图实战
- 稳扎稳打Silverlight(29) - 2.0Tip/Trick之Cookie, 自定义字体, 为程序传递参数, 自定义鼠标右键...
- ios 监听TextField中内容变化
- XCTF WEB weak_auth
- WebSocket服务器上的oTransactionID_SiteDetailMap的qrcode是何时生成的
- [codevs1105][COJ0183][NOIP2005]过河
- Hadoop从安装Linux到搭建集群环境
- mysql 上一篇_mysql取上一篇和下一篇的查询
- 苹果推出Apple Pay防欺诈功能 目前仅限于Visa
- 留给星巴克的时间不多了
- mschart mysql_在VB mschart里面可以一个MSCHART同时显示曲线和状图吗?
- Python字符串串联
- Java中的==符号与equals()的使用(测试两个变量是否相等)
- 萌新分享打印文件夹下所有文件的代码
- Android对话框的详细介绍(提示对话框,自定义对话框)
- 人工智能挑战教师角色独特性 与教育教学融合显现独特优势
- Vscode运行Demo程序出现错误
- 智能工厂具体的名词解释
- pandas常用命令
- influxdb官网文档翻译
热门文章
- 上位机服务器通讯协议,家庭监护终端与手机、上位机及服务器通讯协议22.doc
- java实验6 词频统计_Java实现的词频统计——单元测试
- java实心菱形_java打印出实心菱形与空心菱形
- 安卓最好的浏览器_今日软件 | AI一键抠图、隐私保护工具、全能下载器、安卓启动器、茄子快传、迅雷、批量字符替换、傲游浏览器、全局负一屏...
- resttemplate发送post请求
- Mybatis注解的方式,如何实现MySQL ,update后,返回更新后的值
- mysql 杀掉会话
- Spring Cloud Config 使用总结
- 如何转换并压缩png格式图片
- Wine 4.4 发布,Windows 应用的兼容层