`
kenby
  • 浏览: 724621 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

约瑟夫问题求解(C++)

阅读更多

 

设有n 个人站成一圈,每个人持有一个密码(正整数) 。现从第t 个人开始,按顺时针方向“1,2,3,4, …”循环报数,数到m1 (第t 个人所持密码)的人出列,然后从出列者的下一个人重新开始报数,数到m2 (刚出列者所持密码)的人又出列,如此重复进行,直到n 个人都出列为止。

问题是 对于任意给定的n 个人的原始排列顺序,求出n 个人的出列顺序。

输入数据从文本文件中读取。该文件有两行:第1 行只有一个整数,表示报数的起始位置;第2 行是n 个所持密码。

输出结果显示在屏幕上。

例如,从文本文件读取数据

2

5 6 3 2 2 4

屏幕显示

1 6 5 3 4 2

程序如下:


分享到:
评论

相关推荐

    约瑟夫环问题求解

    约瑟夫环求解 C++ 源程序 可以直接运行的cPP文件

    C++的编写约瑟夫(josephus)环函数

    约瑟夫环问题是一个经典的算法问题,也是数据结构中链表操作的一个应用实例。问题起源于一个传说,即犹太历史学家约瑟夫·弗拉维奥在描述一个特定情景时提出的问题。在C++中实现约瑟夫环算法,通常需要借助数组或...

    利用循环链表实现约瑟夫问题的求解

    利用循环链表实现约瑟夫问题的求解。 约瑟夫问题如下:已知n个人(n>=1)围坐一圆桌周围,从1开始顺序编号。从序号为1的人开始报数,顺时针数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依...

    c++数据结构原理与经典问题求解(源代码)

    《C++数据结构原理与经典问题求解》是一本深入探讨C++编程语言在数据结构领域的应用和问题解决的书籍。源代码的提供为读者提供了实际动手操作的机会,加深理解并提升技能。以下是对该主题的详细阐述: 一、C++语言...

    约瑟夫问题c++解决方案

    该代码通过定义一个链表结构来模拟约瑟夫问题中的人员排列,然后通过循环和指针操作实现了问题的求解过程。 ### 关键知识点解析: 1. **链表结构定义**:在代码中,首先定义了一个`struct node`类型,用于创建链表...

    约瑟夫问题求解

    在C++或C语言中,解决约瑟夫问题通常采用链表或数组来模拟圆圈,并通过迭代或递归的方式来处理报数和剔除的过程。以下是一个简单的C++解决方案,使用了数组和迭代的方法: ```cpp #include using namespace std; ...

    约瑟夫问题面向对象解法报告书(C++版)

    在本报告书中,约瑟夫问题及其扩展的求解采用了面向对象的编程方法,特别是使用C++语言。面向对象编程(OOP)是一种编程范式,它使用“对象”的概念来封装数据和代码,以增强代码的重用性和可维护性。在约瑟夫问题中...

    “约瑟夫环”问题求解 C语言

    约瑟夫环问题,也被称为约瑟夫环序列或约瑟夫问题,是一个著名的理论问题,源自古希腊的数学家约瑟夫·弗拉基米尔。这个问题的基本设定是:有一群人围成一个圈,从某个人开始计数,每数到特定数值的人会被剔除出圈,...

    约瑟夫环问题及设计程序实现约瑟夫环求解

    问题描述:约瑟夫环问题的一种描述是:编号为1,2,...,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时...

    约瑟夫问题设计书(c++)

    ### 约瑟夫问题设计书(C++) #### 一、需求分析 ##### 1.1 功能分析 约瑟夫问题源自古罗马著名史学家Josephus提出的数学难题,通常被称为Josephus问题。该问题的基本场景是编号为1至n的n个人按顺时针方向围坐...

    Josephus 约瑟夫问题(POJ)

    《约瑟夫问题详解及其在POJ中的应用》 约瑟夫问题,源自古罗马历史的一个有趣的故事,是由数学家约瑟夫·...同时,约瑟夫问题也启示我们,面对复杂问题,如何通过简化模型、巧妙设计数据结构和算法来达到高效求解。

    数据结构课程设计——约瑟夫问题

    《数据结构课程设计——约瑟夫问题》 约瑟夫问题是一个经典的计算机科学问题,源自一个古老的犹太历史故事。该问题涉及到了数据结构、算法和循环移位等概念,通常用于教学线性表的操作。在这个问题中,n个人围成一...

    用c++实现约瑟夫环

    **约瑟夫环问题概述** 约瑟夫环(Josephus Problem)是一个著名的理论问题,源自古罗马的一个传说。...总的来说,约瑟夫环问题的C++实现涉及了链表操作、递归、循环控制等编程基础,是学习和理解这些概念的良好实践。

    约瑟夫环问题

    ### 约瑟夫环问题解析 #### 一、问题背景与定义 约瑟夫环问题(Josephus Problem)是一个著名的理论计算机科学问题,源于古罗马时期的一个故事。该问题可以表述为:有n个人站成一个圆圈,从某个人开始报数,数到m的...

    C++求解约瑟夫问题的源代码

    CLinkList::Josephus(int n) //尾插法建立循环链表 { if(n) throw "error"; for(int j=0;j;j++) { Node *s=new Node; //建立新结点 s->data=j+1; //给新结点数据域赋值 ... //删除头结点以便循环读数

    约瑟夫(josehus)问题.rar_Josephus_约瑟夫 问题 实现_约瑟夫环_约瑟夫环 数据结构_约瑟夫环问题

    总结来说,约瑟夫问题是一个涉及数据结构和算法的经典问题,它可以使用循环链表和递归等方法进行求解。在VC++ 6.0环境中,我们可以利用C++的STL库和编程技巧来实现这一算法,解决具体问题。通过深入理解和实践,不仅...

    数据结构课程设计 C++ 约瑟夫环、迷宫求解(非递归)、

    题目 3 迷宫求解 1、问题描述 可以输入一个任意大小的迷宫数据,用非递归的方法求出一条走出迷宫的路径,并将路径输出。 2、要求 在上交资料中请写明:存储结构、基本算法(可以使用程序流程图)、源程序、测试数据...

    约瑟夫问题的一种解决方法

    数据结构的课程作业

    c++程序,解决约瑟夫环问题

    ### 约瑟夫环问题及其C++实现 #### 知识点一:约瑟夫环问题概述 约瑟夫环问题(Josephus Problem)是一个经典的理论计算机科学问题,涉及循环链表的数据结构。该问题的基本场景是:一群人在玩一个游戏,所有人围成...

Global site tag (gtag.js) - Google Analytics