一位数组>>>>>>>>>>约瑟夫环
来源:互联网 发布:矢仓枫子 知乎 编辑:程序博客网 时间:2024/05/19 17:59
约瑟夫环的故事被改变了很多版本,我的版本是监狱风云:
在一个月高风黑的夜晚,监狱典狱长锤石决定将监狱的33个人处决,但是只留下一个人活下去。他将犯人们围成一个圈,从一号犯人开始,1号报数1,二号报数2,...以此类推,每次报到7的人枪决。 第一次七号犯人死亡,然后8号犯人继续报数1,。。。。以此类推直到最后只剩一个人。而我们有着大智慧的约瑟夫将自己排到了最后活下来的位置,如若想知道位置,则看代码。
include<stdio.h>#define MAX 33int main(int argc, const char *argv[]){int i,j,k;int sum=0;//用于计算七人int p=0;//用于计算存活人数int a[MAX]={0};for(i=0;i<MAX;i++){k=i; if(i==32){i=-1;}//围成圈if(a[k]==1) {continue;}//死亡跳过sum++;if(sum%7==0){sum = 0;a[k]=1;printf("%02d号犯人挂了\n",k+1);}//计算第七个人 到了7则置0for(j=0;j<MAX;j++){if(a[j]==0) p++;}if(p==1) break;//活着的人为1个 跳出大循环 否则 p=0;重新进行下一轮循环计算elsep=0;}for(i=0;i<MAX;i++)if(a[i]==0) printf("%d号犯人成功活下!!!!\n",i+1);return 0;}
如上代码
将33个犯人视为数组,定义一个int类型含有33个元素的数组。数组里存放犯人的生死状态,生为 0 ,死为1;
如上所示。
阅读全文
0 0
- 一位数组>>>>>>>>>>约瑟夫环
- 用c语言一位数组实现约瑟夫环
- 数组实现约瑟夫环
- 约瑟夫环数组实现
- 约瑟夫环数组实现
- 约瑟夫环数组实现
- 约瑟夫环问题【数组】
- OJ 约瑟夫环 数组
- 约瑟夫环--数组实现
- 约瑟夫环问题【数组】
- 数组实现约瑟夫环
- 约瑟夫环问题【数组】
- 约瑟夫环数组解决方案
- 约瑟夫环,数组
- 约瑟夫环的数组实现
- 数组解决约瑟夫环问题
- 数组解决约瑟夫环问题
- 约瑟夫环(数组模拟实现)
- 【BFS+状压】HDU_5025_ Saving Tang Monk
- ORACLE 中的 ROW_NUMBER() OVER() 分析函数的用法
- String,StringBuffer与StringBuilder的区别
- 树链剖分
- 【转】前端框架基础:Babel & package.json & npm & nodemon
- 一位数组>>>>>>>>>>约瑟夫环
- 树状数组实现 区间修改+区间查询
- HDU-2017 多校训练赛4-1004-Dirt Ratio
- python多线程
- B
- 中大型网站架构的演变之路
- 自定义view继承view
- Oracle 分组函数
- G