C++ 约瑟夫环的实例代码
C++约瑟夫环的实例代码
约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。
分析:有n个人,要想所有的人都退出去,只有每个人喊到m,才可以退完,所以可以算出,n*m为所有人总共报数的总次数。
代码:
/* *约瑟夫出圈 */ #includeintmain() { charpeo[100]; char*p_peo=peo; inti,n,skip,flag[100]={0},cnt; int*p_flag=NULL; printf("请输入人数:"); scanf("%d",&n); printf("所有人如下:\n"); for(p_peo,i=0;p_peo 如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!