| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1070 人关注过本帖
标题:C语言 实现约瑟夫循环问题
只看楼主 加入收藏
傻瓜菜
Rank: 2
来 自:earth
等 级:论坛游民
帖 子:73
专家分:66
注 册:2011-10-4
结帖率:94.44%
收藏
 问题点数:0 回复次数:6 
C语言 实现约瑟夫循环问题
题目描述
约瑟夫环问题:设有n(n≤1000)个人围坐一圈,并按顺时针方向1—n编号。从第s个人开始进行报数,报数到第m个人,此人出圈,再从他的下一个人重新开始从1到m的报数进行下去 ,直到只剩一个人为止。

输入
人数n

从第s个人开始报数s

报到第几个数m

输出
剩下的最后一个人的编号

样例输入
9
1
3
样例输出
1


菜鸟乞求大虾帮忙
搜索更多相关主题的帖子: 约瑟夫 C语言 顺时针 
2011-11-06 22:03
a2659633
Rank: 2
等 级:论坛游民
帖 子:25
专家分:25
注 册:2010-12-15
收藏
得分:0 
1,用数组,提出一个人后,其他人前移,n-1。
2,建一个循环链表,非常形象的操作。

我知道,人格可以鄙视人民币,但是人民币可以打败人格。
2011-11-06 23:15
a2659633
Rank: 2
等 级:论坛游民
帖 子:25
专家分:25
注 册:2010-12-15
收藏
得分:0 
1,用数组,踢出一个人后,其他人前移,n-1。
2,建一个循环链表,非常形象的操作。

我知道,人格可以鄙视人民币,但是人民币可以打败人格。
2011-11-06 23:15
a2659633
Rank: 2
等 级:论坛游民
帖 子:25
专家分:25
注 册:2010-12-15
收藏
得分:0 
手机误操作……
起码你也试着写一下吧。

我知道,人格可以鄙视人民币,但是人民币可以打败人格。
2011-11-06 23:17
lin471306489
Rank: 4
等 级:业余侠客
帖 子:136
专家分:247
注 册:2011-8-16
收藏
得分:0 
程序代码:
void josphus(int *array, int s, int m)
{
    int s1, i, w;
    s1 = s - 1;
    for(i=n; i>0; i--)
    {
        s1 = (s1+m-1) % i; //找到要删的元素
        w = array[s1];
        delete(array, s1);// 定义一个删除数组的元素  
    }

 
}
Josephus 很多书本和资料都有介绍,可以参考下
2011-11-07 00:16
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
这么懒,都知道是约瑟夫,你是百度上搜一下,有很多方法和代码

总有那身价贱的人给作业贴回复完整的代码
2011-11-07 07:27
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
这么懒,都知道是约瑟夫,你去百度上搜一下,有很多方法和代码

总有那身价贱的人给作业贴回复完整的代码
2011-11-07 07:28
快速回复:C语言 实现约瑟夫循环问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019451 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved