约瑟夫环
来源:互联网 发布:js判断是否获取到元素 编辑:程序博客网 时间:2024/06/06 20:36
约瑟夫问题:N个人围成一圈,从第一个人开始报数,数到M的人出圈;再由下一个人开始报数,数到M的人出圈;…输出依次出圈的人的编号。N,M由键盘输入。
【分析】
(1)由于对于每个人只有出圈和没有圈两种状态,因此可以用布尔型标志数组存储游戏 过程中每个人的状态。不妨用true表示出圈,false 表示没有出圈。
(2)开始的时候,给标志数组赋初值为false,即全部在圈内。
(3)模拟报数游戏的过程,直到所有的人出圈为止。
输入: 8 5
输出: 5 2 8 7 1 4 6 3
#include<iostream>#include<cstdio>using namespace std;bool b[105];//初始化位0 int i=1,m=0,N,M,cnt;int main(){ cin>>N>>M; while(cnt<=N) { if(i==N+1) i=1; if(b[i]==0) m++;//数数 if(m==M) { cout<<i<<" "; b[i]=1; //出圈的标记为1 m=0;//重新数数 cnt++;//出圈数+1 } i++; }}
阅读全文
0 0
- 约瑟夫问题、约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- 约瑟夫环
- Spring+Mybatis 查询所有数据时发生异常:org.apache.ibatis.reflection.ReflectionException: There is no getter for
- 将16进制的字符串转换为对应的字符
- 使用jedis操作redis之消息的发布和订阅
- jQuery学习笔记之attr()
- 原生js获取元素最终计算结果样式代码
- 约瑟夫环
- ROW_NUMBER() OVER函数的基本用法(转)
- 解决$GLOBALS["HTTP_RAW_POST_DATA"]获取不到数据的问题
- OpenJ_POJ 1043
- tomcat配置及使用
- 比Switch case 更高效的方法:字典(Dictionary) + 委托(delegate)
- opencv鼠标选定感兴趣区域进行目标检测
- SSM中springMVC的概述:
- 程序员编程7+1条小贴士