C语言 实现约瑟夫循环问题
题目描述约瑟夫环问题:设有n(n≤1000)个人围坐一圈,并按顺时针方向1—n编号。从第s个人开始进行报数,报数到第m个人,此人出圈,再从他的下一个人重新开始从1到m的报数进行下去 ,直到只剩一个人为止。
输入
人数n
从第s个人开始报数s
报到第几个数m
输出
剩下的最后一个人的编号
样例输入
9
1
3
样例输出
1
菜鸟乞求大虾帮忙
void josphus(int *array, int s, int m) { int s1, i, w; s1 = s - 1; for(i=n; i>0; i--) { s1 = (s1+m-1) % i; //找到要删的元素 w = array[s1]; delete(array, s1);// 定义一个删除数组的元素 } } Josephus 很多书本和资料都有介绍,可以参考下