usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespace约瑟夫环问题

{public classJosephusring

{public static int nums { get; set; } = 41;public static int[] people = new int[nums];private static int outpeople = 3;static void Main(string[] args)

{

Console.WriteLine("约瑟夫环问题:\n"+ "据说著名犹太历史学家Josephus有过以下的故事:在罗马人占领乔塔帕特后,39个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。然而Josephus和他的朋友并不想遵从。他将朋友与自己安排在第16个与第31个位置,于是逃过了这场死亡游戏。");

Josephusring j= newJosephusring();

j.InitJosephusRing();

j.Printf_Ring();int left =nums;int counter = 0;int i = 0;while (true)

{if (people[i] > 0)

{

counter++;

}if (counter ==outpeople)

{

left--;

Console.WriteLine(people[i]+ "号出局了!\n\n");

Console.WriteLine("\n\n");

people[i]= 0;

counter= 0;

}if (people[i]!=0)

{

Console.WriteLine("当前总人数" + left + "\t" + "当前报数者:" + (i + 1) + "\n");

}

j.Printf_Ring();if (left <= 2)

{break;

}

i++;if (i ==nums)

{

i= 0;

}

}

Console.WriteLine("Gameover!!!");

}public voidInitJosephusRing()

{for (int i = 0; i < nums; i++)

{

people[i]= i + 1;

}

}public voidPrintf_Ring()

{for (int i = 0; i < nums; i++)

{

Console.Write("\t[" + people[i] + "]");

}

Console.WriteLine();

}

}

}

约瑟夫环c语言计蒜客链表,约瑟夫环的故事 - osc_3n35hvex的个人空间 - OSCHINA - 中文开源技术交流社区...相关推荐

  1. c语言n个测试用例0为结束,编写测试用例 - osc_4l0h8in9的个人空间 - OSCHINA - 中文开源技术交流社区...

    软件测试用例: 软件测试用例就是指导你执行测试,帮助你证明软件功能或发现软件缺陷的一种说明. 可以总结为:每一个测试点的数据设计的步骤设计. 微信红包用例? 用例编号:HB_001 功能模块:发送红包 ...

  2. pta答案厦门大学C语言,C语言I博客作业02 - osc_dmzfpa0c的个人空间 - OSCHINA - 中文开源技术交流社区...

    一.概括表格 问题 答案 这个作业属于那个课程 C语言程序设计I 我在这个课程的目标是 深入了解C语言,熟练掌握编译代码的方法及内容 这个作业在那个具体方面帮助我实现目标 学会用代码求华氏温度下对应的 ...

  3. c语言平时作业完成的评价,C语言作业评价标准 - osc_fmg49rzg的个人空间 - OSCHINA - 中文开源技术交流社区...

    C语言作业评价标准 作业内容: 每周作业分为基础作业.挑战作业和预习作业: 基础作业为本周所学内容的巩固: 挑战作业包括但不仅限于所学知识的综合运用: 预习作业为下周所学内容的任务单,要求必须在课前完 ...

  4. 直白点理解c 语言中的循环体,反射机制 小小谈 - osc_nnbkiac5的个人空间 - OSCHINA - 中文开源技术交流社区...

    反射机制(Reflection) [TOC] 写在前面 本文地址:https://www.cnblogs.com/oberon-zjt0806/p/11082012.html 这里是Oberon 本文 ...

  5. c语言处理字符串函数的头文件,C语言字符处理函数 - 20131125的个人空间 - OSCHINA - 中文开源技术交流社区...

    C语言提供了丰富的字符串处理函数, 大致可分为字符串的输入.输出.合并.修改.比较.转换.复制.搜索几类. 使用这些函数可大大减轻编程的负担.用于输入输出的字符串函数,在使用前应包含头文件" ...

  6. c 调用mysql密码为空_C语言连MySQL - osc_srnunz15的个人空间 - OSCHINA - 中文开源技术交流社区...

    连接例程 用C语言连接MySQL数据库包含两个步骤" 初始化一个连接句柄结构: 实际进行连接. 初始化连接句柄 #include MYSQL *mysql_init(MYSQL *); 通常 ...

  7. python语言是由谁设计并领导开发的_python语言概述 - osc_lt3ocv4d的个人空间 - OSCHINA - 中文开源技术交流社区...

    python语言的发展 python语言诞生于1990年,由Guide van Rossum设计并领导开发. python语言是开源项目的优秀代表,其解释器的全部代码都是开源的. 编写Hello程序 ...

  8. 按照c语言规首字母只能是,C语言--指针 - osc_nbqoh20k的个人空间 - OSCHINA - 中文开源技术交流社区...

    [TOC] #知识内容总结 ##为什么要学习指针? 我们已经学习了如何用数组存放多个相同类型的数据并进行运算,但数组的长度在定义时必须给定以后不能再改变.如果事先无法确定需要处理数据数量,应该如何处理 ...

  9. c语言第三次作业(循环),C语言——第三次作业 - osc_kt69pvbx的个人空间 - OSCHINA - 中文开源技术交流社区...

    #作业要求一# 题目6-1 输出月份英文名 题目6-2 查找星期 题目6-3 计算最长的字符串长度 题目6-4 指定位置输出字符串 作业:C高级第三次作业(2)没有思路,知识点也没有明白,未完成. # ...

最新文章

  1. 高校数字化建设到底该如何推进?这篇方案值得一看
  2. [HNOI2015] 落忆枫音
  3. python读取日志错误信息_使用Python将Exception异常错误堆栈信息写入日志文件
  4. oracle imp导入修改字符集,Oracle中IMP导入数据时提示字符集不一致解决
  5. 【深度学习】【U-net】医学图像(血管)分割实验记录
  6. android之AlarmManager 全局定时器
  7. 20155303 《Java程序设计》实验一(Java开发环境的熟悉)实验报告
  8. [在Windows上使用Unix工具]MKS
  9. abp 应用层异常处理(自动控制器中)
  10. java面试题库app
  11. Android 学习笔记(十五):Activity-GalleryView
  12. jsp实现简易购物车
  13. 大话谈VUE之export const
  14. 全网的 IP 归属地显示,带你5分钟加上,就是这么简单
  15. 小武学fpgastep4
  16. 「重磅」微信小程序再也不能打开APP了
  17. Zabbix -- 客户端安装以及如何添加数据库的动态监控视图
  18. 中标麒麟mysql 安装_在中标麒麟上安装达梦数据库V8
  19. unity删除云端项目
  20. 数字化转型:留给企业的时间不多了!

热门文章

  1. Tableau必知必会之图表显示部分标签的小妙招
  2. 【数值分析】微分求积:复化梯形、复化辛浦生
  3. uni-app读取html缓存,uni-app同步缓存值 设置 读取 删除(示例代码)
  4. spring源码分析之定时任务Scheduled注解
  5. spring源码分析之spring-core asm概述
  6. spring mvc DispatcherServlet详解之前传---FrameworkServlet
  7. 基于 Java 2 运行时安全模型的线程协作--转
  8. 深入探索 Java 热部署--转
  9. 【Python】Pycharm
  10. 谷歌发布TensorFlow 1.4与TensorFlow Lattice:利用先验知识提升模型准确度 搜狐科技 10-12 15:29 选自:Google Research Blog 参与:李泽南、