约瑟夫环问题:设有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”); }
已知广义表L=((x,y,z),a,(u,t,w)),求:从L表中取出原子项t的运算。
求下列广义表运算的结果: (1)head((i,i,k)); (2)tail((k,m,n)); (3)head(tail(((a,b,c),(d))));
广义表(a,(a),d,e,((i,j),k))的长度是_______,深度是_______。