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的那个人又出 ...
最新文章
- STL笔记(5)条款49:学习破解有关STL的编译器诊断信息
- 计算机图形学-MFC界面分屏操作
- 面试题系列-mysql连环13问
- 支付宝将砸十亿支持中国女足发展:她们才是第一女子天团
- bp神经网络测试_BP 神经网络驱动的手写体数字识别软件 EasyOCR
- python中使用什么获取两个集合的补集_python中求两个List的交集、并集和差集
- java+JNI 生成包头文件与调用实例
- gridview選發行彈出層 模板列
- MySQL数据库餐厅点菜系统_Java实现餐厅点餐系统的实例代码
- 音频处理之语音加速播放
- Ubuntu下libxml2的安装和使用
- java 音频波形图_java读取wav文件(波形文件)并绘制波形图的方法
- 浏览器 本地html 图片不显示,网页不显示图片怎么解决?
- Java实现中国象棋(联机版)
- (二)Tushare Pro教程:上市公司财务数据接口
- 遥测、遥信、遥控、遥调的简要说明
- 广告联盟识别作弊方法
- 高德地图打包报错:‘AMap‘ is not defined 解决方案
- 消息队列mq的原理及实现方法
- 在家中搭建网站服务器可行吗?