| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付赛孚耐:软件保护加密专家
身份认证令牌USB KEY   
共有 81 人关注过本帖
标题:约瑟夫问题
收藏  订阅  推荐  打印 
nishijj
Rank: 1
等级:新手上路
帖子:2
积分:120
注册:2007-10-24
约瑟夫问题

请教:编写高效率解决约瑟夫问题的代码??
搜索更多相关主题的帖子: 约瑟夫  
2007-10-28 09:22
潇潇鱼
Rank: 1
等级:新手上路
帖子:34
积分:448
注册:2007-10-27

约瑟夫问题是什么?

Java!我的第二外语!
2007-10-28 09:24
潇潇鱼
Rank: 1
等级:新手上路
帖子:34
积分:448
注册:2007-10-27

#include<iostream.h>
int Josephus(int *Child,int n,int m);
void main()
{
int *allChild,j,k,l;
cin>>j>>k;

if((allChild= new int[j])!=NULL)
{
for(l=0;l<j;l++)
{
cout<<l+1<<",";
allChild[l]=l+1;
}
cout<<endl;
cout<<Josephus(allChild,j,k);
}
}

int Josephus(int *Child,int n,int m)
{
int i=-1,j=0,k=1;
while(1)
{
for(j=0;j<m;)
{
i=(i+1)%n;
if(Child[i]!=-1)
j++;

}

if(k==n)
break;
cout<<Child[i]<<",";

Child[i]=-1;
k=k+1;

}
cout<<endl;
return(Child[i]);
}


Java!我的第二外语!
2007-10-28 09:25
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.074602 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved