题目内容
约瑟夫环问题:设有n个人围坐一圈,并按顺时针方向1~n编号。从第s个人开始进行报数,报数到第m个人,此人出圈,再从他的下一个人重新开始从1到m的报数进行下去,直到所有的人都出圈为止。 void Josef(int A[],int n,int s,int m) { for(i=1;i<=n;i++) A[i]=i; sl=s: for(i=n;i>=2;i一一) { s1=______; /*计算出圈人s1*/ if(s1==0)______; W=A[s1]; /*A[s1]出圈*/ for(j=_____) A[j]=A[j+1]; A[i]=w; } print f(“出圈序列为:”); /*输出出圈序列*/ for(i=n;i>=1;i一一) print f(“%d”,A[i]); print f(“n”); }
查看答案
搜索结果不匹配?点我反馈