N个人围成一个圈顺序编号,从第一个人开始报数(从1到M),凡报到M的人退出圈子,问最后一个圈中的人的编
问题描述:
N个人围成一个圈顺序编号,从第一个人开始报数(从1到M),凡报到M的人退出圈子,问最后一个圈中的人的编
答
void Josegh(n)
{
int i,j,k,s1,w;
s1=s;
for(i=1;i=2;i--)
{
s1=(s1+m-1)%i; /*下一个开始报数的人的编号是(s1+m-1)%i*/
if(s1==0) /*若s1为0,则说明要开始报数的是最后一个人*/
s1=i;
w=p[s1-1]; /*将要出圈的人移至数组的最后*/
for(j=s1;j