精华内容
下载资源
问答
  • cpp代码-约瑟夫环 c++实现
  • 经典约瑟夫环代码,可以正常运行,大家有兴趣的话,下下来看看吧
  • 约瑟夫环C++代码

    2018-03-27 21:39:00
    约瑟夫环C++代码,采用链表的数据结构,对写出了链表的模板类
  • 约瑟夫环C++代码

    2009-10-03 18:01:48
    约瑟夫环C++代码 #include<iostream> using namespace std; struct person { unsigned int number; unsigned int key; person *next; }; class joseph_ring { private: unsigned int n; unsigned ...
  • 约瑟夫环C++

    2013-11-19 23:53:05
    C++代码求解约瑟夫环问题,求解最后剩下第几位。
  • C++编的约瑟夫环代码

    2009-09-24 10:47:33
    C++编的约瑟夫环代码 C++编的约瑟夫环代码 C++编的约瑟夫环代码 C++编的约瑟夫环代码 C++编的约瑟夫环代码
  • #include<iostream> using namespace std; int main() { int a=17,b=3,winner=0;//总人数a,数到b的倍数离开,最后的人winner for(int i=2;i<=a;i++) winner=(winner+b)%i;......
    #include<iostream>
    using namespace std;
    int main()
    {
        int a=17,b=3,winner=0;//总人数a,数到b的倍数离开,最后的人winner
        for(int i=2;i<=a;i++)
            winner=(winner+b)%i;
        cout<<"Winner:"<<winner+1<<endl;
    }

     

    我们考虑如下过程

    1     2     3     4     5     6     …..  k-1  k     k+1  …    n-1  n

    第一次编号为k的哥挂掉,然后剩下n-1个人,从k+1号继续.

    k+1  k+1  ….n-1 n  1     2     3     4     5     6     ,

    序号全部减去k  ,   得到如下序列:

    1     2     3     4     5     6…..       n-1  

    也就是n-1个人的情况.

    假设最后剩下的人,在第(n-1)人的序列中的编号是f(n-1),那么他在n个人的序列中,编号为(k+f(n-1))%n,也就得到了我们的递推公式:

    f(n)=(k+f(n-1))%n;

    f(1)=1;

    http://blog.csdn.net/ice110956/article/details/12906065

    转载于:https://www.cnblogs.com/bruce27/p/4290958.html

    展开全文
  • 约瑟夫环C++

    2012-03-20 20:38:02
    C++实现的约瑟夫环问题,基于类实现,为提高代码效率采用循环而非递归
  • 8. 【题目】约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为1的人开始报数,数到k的那个人出列;他的下一个人又从1开始报数,数到k的那个人又...
  • 主要介绍了C++ 约瑟夫环的实例代码的相关资料,希望通过本文能帮助到大家,实现这样的功能,需要的朋友可以参考下
  • 约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到...
  • 约瑟夫环 c++版源代码

    2009-10-07 17:12:00
    #includeusing namespace std;int main(){ struct person { int key; int num; struct person *next; }; int n,m; cin>>n>>m; person *p1,*head,*p2; for(int i=1;i { int k;

     

    #include<iostream>

    using namespace std;

    int main()

    {

    struct person

    {

    int key;

    int num;

    struct person *next;

    };

    int n,m;

    cin>>n>>m;

    person *p1,*head,*p2;

    for(int i=1;i<=n;i++)

    {

    int k;

    p1=new person;

    cin>>k;

    p1->key=k;

    p1->num=i;

    if(i==1)

    {

    head=p1;

    p2=p1;

    }

    else

    {

    p2->next=p1;

    p2=p1;

    }

    }

    p2->next=head;

    person *p,*t;

    p=p2;

    while(n)

    {

    for(int i=1;i<m;i++)

    p=p->next;

    cout<<p->next->num<<" ";

    m=p->next->key;

    t=p->next;

    p->next=p->next->next;

    delete t;

    n--;

    }

    return 0;

    }

    有什么问题可以在后面留言……呵呵

     

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • 这是我以前课程的作业 写好了可以运行的 拿出来给大家分享下
  • 解题思路:典型的约瑟夫环题注意事项:用C提交时就行了#include 但是用C++提交需要#include 说好的C++完全兼容C呢,,还是说这个OJ编译器的版本问题参考代码:#include#include#includestructJoseph{//约瑟夫环int...

    解题思路:

    典型的约瑟夫环题

    注意事项:

    用C提交时就行了#include

    但是用C++提交需要#include

    说好的C++完全兼容C呢,,还是说这个OJ编译器的版本问题

    参考代码:#include 

    #include 

    #include 

    struct Joseph {//约瑟夫环

    int number;

    struct Joseph *next;

    };

    struct Joseph *Create(int);//建立环链

    void Out(struct Joseph *, int);//输出

    struct Joseph *Delete(struct Joseph *, struct Joseph *);//删除节点

    int main() {

    int m, n;

    struct Joseph *head = NULL;

    while (scanf("%d %d", &m, &n) != EOF) {

    head = Create(m);//建立环链

    Out(head, n);//输出

    }

    return 0;

    }

    struct Joseph *Create(int m) {//建立环链

    struct Joseph *head = NULL, *p = NULL, *q = NULL;

    p = (struct Joseph *) malloc(sizeof(struct Joseph));

    if (p == NULL) {

    printf("内存分配出错\n");

    exit(0);

    } else

    head = q = p;

    p->number = 1;

    for (int i = 2; i <= m; i++) {

    p = (struct Joseph *) malloc(sizeof(struct Joseph));

    if (p == NULL) {

    printf("内存分配出错\n");

    exit(0);

    }

    q->next = p;

    p->number = i;

    q = p;

    }

    q->next = head;

    return head;

    }

    void Out(struct Joseph *p, int n) {

    struct Joseph *q = NULL;

    while (p != p->next) {

    for (int i = 1; i 

    q = p;

    p = p->next;

    }

    p = Delete(p, q);//删除节点

    }

    printf("%d\n", p->number);

    free(p);

    }

    struct Joseph *Delete(struct Joseph *p, struct Joseph *q) {

    q->next = p->next;

    free(p);

    return q->next;

    }

    展开全文
  • 约瑟夫环vc++代码

    2011-12-29 21:26:58
    数据结构作业约瑟夫环c++代码 第一次上传 求指教
  • 约瑟夫环 C++实现

    2019-04-19 16:17:03
    #include<iostream> #include<vector> using namespace std; int main() { int point=1;//point: 指针,指向当前数字编号 int n;//n: 总数 int m;// m: 样例数 cin >>......
    #include<iostream>
    #include<vector>
    using namespace std;
    
    int main()
    {
    	int point=1;//point: 指针,指向当前数字编号
    	int n;//n: 总数
    	int m;// m: 样例数
    	cin >> m;
    	while (m--)
    	{
    		cin >> n;
    		vector<int> ve;
    		for (int i = 0;i < n;i++)
    		{
    			ve.push_back(i + 1);
    		}
    		while (ve.size() != 0)
    		{
    			for (vector<int>::iterator it = ve.begin();it != ve.end();)
    			{
    				if (point != 3) {// 此处的3表示依次报数的第三个人会出列,数字三可以替换为任意数字
    					point++;
    					it++;
    					continue;
    				}
    				else
    				{
    					cout << *it << " ";
    					it = ve.erase(it);
    					point = 1;
    				}
    			}
    		}
    		cout << endl;
    	}
    
    	system("pause");
    
    }

     

    展开全文
  • 约瑟夫环C++笔试题

    2017-01-16 22:42:52
    约瑟夫环经典问题,自己刚好学习到。记录一下,利用循环链表实现的。场景:N个人围一桌,从第k个人开始报数,报到m的人离开桌子,再从下一个人开始报数直到所有人均离开桌子。 基本思路:建立一个循环链表,不断按...
  • 约瑟夫环C++实现版

    2009-10-25 18:19:21
    下载了很多的约瑟夫环的源代码....发现或多或少的错误...这个是自己修正后的版本....vc6.0测试没有错误并可以运行出正确结果的
  • 这个约瑟夫环代码简单易懂,附解释,是在老师的辅导下完成的,相信大家看了就会懂
  • 前天笔试有个约瑟夫环的问题,怪不得人家没通知我面试,原来我的约瑟夫环做的确实有问题,昨天晚上又重新做了下,下面上源代码:/*file:osephu.cpp author:www.5dkx.com*/#includeusing namespace std;typedef ...
  • 此程序共写了一个类,3个小函数和一个主函数。 1.类中定义了2个变量一个指针,其中一个变量用来存放学生的编号,另一个变量用来存放学生的密码,next指针是用来做链表的. ...主要靠用new在堆区申请了类大小的内存来...
  • 约瑟夫环:编号为1,2,3,…,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数的上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止。报m的人出列,将他的密码...
  • 数据结构约瑟夫环问题c++实现 题目描述: 一个刚出锅的山芋,在围成一圈的n(以编号1,2,3…n分别表示 )个孩子间传递。大家一起数数,从编号为1的孩子开始报数,每数一次,当前拿着山芋的孩子就把山芋交给紧邻其右...
  • 约瑟夫环代码

    2011-10-18 13:06:30
    约瑟夫环问题,c++完整代码,完全解决约瑟夫环问题
  • 【数据结构】C++代码实现 约瑟夫环

    千次阅读 2021-01-12 10:39:05
    【数据结构】C++代码实现 约瑟夫环 我的第一篇博客,也不知道怎么说,实验课留的题目,直接上代码 Josephus环问题 问题描述: 约瑟夫(Joseph)问题的一种描述是:编号为1,2,…,n的n个人按顺时针方向围坐一圈,每人...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,092
精华内容 836
关键字:

约瑟夫环c++代码

c++ 订阅