C#约瑟夫问题解决方法
程序员文章站
2023-10-26 23:39:22
本文实例讲述了c#约瑟夫问题解决方法。分享给大家供大家参考。具体分析如下:
决约瑟夫问题描述如下:
设有n个人围坐一圈,现以某个人开始报数,数到m的人出列,接着从出列的...
本文实例讲述了c#约瑟夫问题解决方法。分享给大家供大家参考。具体分析如下:
决约瑟夫问题描述如下:
设有n个人围坐一圈,现以某个人开始报数,数到m的人出列,接着从出列的下一个人开始重新报数,数到m的人又出列,如此下去,直到所有人都出列为止.按出列顺序输出.
public class josephas //从第start人开始计数,以alter为单位循环记数出列,总人数为total public int [ ] jose(int total, int alter, int start) { int i, j, k = 0; //count数组存储按出列顺序的数据,以当结果返回 int[] count = new int [ total+1]; //s数组存储初始数据 int[] s = new int [ total+1]; //对数组s赋初值,第一个人序号为0,第二人为1,依此下去 for (i = 0; i <total; i++) { s[i] = i; } //按出列次序依次存于数组count中 for (i = total; i >= 2; i--) { start = (start + alter - 1) % i; if (start == 0) start = i; count[k] = s[start]; k++; for (j = start + 1; j <= i; j++) s[j - 1] = s[j]; } count[k]=s[1]; //结果返回 return count; } }
希望本文所述对大家的c#程序设计有所帮助。
推荐阅读
-
解决3.01版的jquery.form.js中文乱码问题的解决方法
-
Android中fragment嵌套fragment问题解决方法
-
C++ 调用Python3 脚本中无法引入内建模块的问题解决方法
-
transport.js和jquery冲突问题的解决方法
-
Win10系统外接摄像头不能用问题的解决方法
-
win2003下PHP使用preg_match_all导致apache崩溃问题的解决方法
-
Apache、Nginx下Font Awesome在 Firefox 中不显示问题解决方法
-
Python遍历zip文件输出名称时出现乱码问题的解决方法
-
PHPExcel内存泄漏问题解决方法
-
jQuery.ajax向后台传递数组问题的解决方法