偶尔看到!
来源:互联网 发布:东京工业大学知乎 编辑:程序博客网 时间:2024/04/30 07:41
有n个孩子(编号1,2...n)围成一圈,现在从编号为k的孩子开始报数,当报数到m时,报m的那个孩子出列,然后从报m的那个孩子的下一个孩子重新开始从1报数...
求:孩子们出列的序列。
求:孩子们出列的序列。
static void Main(string[] args) { int[] a = new int[] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; OutQueue(a, 2, 4); } static void OutQueue(int[] obj, int k, int m) { if (obj == null || obj.Length == 0) return; if (k < 1 || k > obj.Length) { Console.WriteLine("K value is invalid!"); return; } if (m <= 0) { Console.WriteLine("m value is invalid!"); return; } int count = 0; //同m比较,数到m就输出当前位置 int mod = m % obj.Length == 0 ? obj.Length : m % obj.Length; //防止m超过数组长度,取模代替之 int index = k-1; //存放当前的index,为什么要-1?因为数组下标从0开始 int got = 0; while (got < obj.Length - 1) { count = 1; for (int j = 0; j < mod; j++) { if (count == mod) { while (obj[index % obj.Length] == 0) index++; Console.WriteLine("The {0} person is out of queue!", index % obj.Length + 1); got++; obj[index % obj.Length] = 0; } count++; index++; } } for (int i = 0; i < obj.Length; i++) { if (obj[index % obj.Length] != 0) Console.WriteLine("The {0} person is out of queue!", index % obj.Length + 1); index++; } }
- 偶尔看到!
- 伤感的一句话 偶尔看到
- 偶尔看到的一种新颖的流程控制方式
- 今天偶尔看到一题,做了一下
- 偶尔回到家,看到家家储蓄的牛粪
- 2016.12.12 今天偶尔看到一个,今天晚上搞一个
- 偶尔
- 偶尔看到的一篇文章,如果你能读出点什么思想
- 一个很好的模拟弹出窗口的特效 偶尔看到了收藏一下- -b
- 偶尔看到有关float/double计算精度的问题,做个backup
- 偶尔看到的一篇关于黑客文章,拿出来分享下!
- 从手机说起 ,偶尔在博客上看到的文章,有点感触......
- hdu 2096 小明A+B 偶尔看到,顺便做做,没想到这么简单
- 偶尔看到刘涛涛的一个题,试着做了下(C语言实现)
- 今天偶尔逛delphi的论坛,看到的json文章,收藏
- 偶尔更新
- 偶尔有感
- 偶尔发现
- php实现xml转数组[兼容性很强]
- RoundCube Webmail
- QT分析之WebKit(八)
- 1229
- 事件处理基础 处理按钮点击事件实例 Java核心技术
- 偶尔看到!
- 谷歌应用引擎(Google App Engine)视频讲座
- 用C#实现批量打开网址
- QT分析之WebKit(九)
- u盘装系统
- socket通信简单例子
- .Net的反射中Assembly.CreateInstance()与Activator.CreateInstance()方法的区别
- C#数组学习
- ASP漏洞及安全建议