| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1858 人关注过本帖
标题:问个数组的josephus问题
取消只看楼主 加入收藏
狂啃基础
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2004-10-13
收藏
 问题点数:0 回复次数:3 
问个数组的josephus问题

17个人围个圈报数,3的倍数的人离开,一直到最后一个人,然后求这个人的编号

程序如下:

#include <iostream.h> const int num=17; void main() { int interval=3; int a[num]; for(int m=0; m<num; m++) cout <<(a[m]=m+1) <<","; cout <<endl; int i=(interval-1)%num; for(int k=1; k<num; k++){ cout <<a[i] <<","; a[i]=0; for(int j=1; !(a[i]&&(j++==interval)); i=(i+1)%num); //数数 } cout <<"\nNo." <<a[i] <<" boy has won.\n"; //输出胜利者 }

程序我看的有点晕,特别是这句int i=(interval-1)%num 有点不太明白,请赐教~ 谢谢~

搜索更多相关主题的帖子: josephus 
2004-10-13 17:07
狂啃基础
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2004-10-13
收藏
得分:0 
一天了,怎么连个人影都没看见,这题应该难不到众斑竹吧?

2004-10-14 22:35
狂啃基础
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2004-10-13
收藏
得分:0 

谢了,斑竹,不过我看的是钱能C++的书上程序啊,那不是C++是什么呢?

是不是程序有点乱和简化?


2004-10-15 10:07
狂啃基础
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2004-10-13
收藏
得分:0 

呵呵 我知道拉 但是我还是初学者

面向对象还不熟悉~


2004-10-15 17:16
快速回复:问个数组的josephus问题
数据加载中...
 
   



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

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