int Joseph(int n,int m)
{
//int m=3;
int count = n; //count表示当前圈内剩下的人数
int num=0; //num表示当前报的数
int i,j; //i表示当前报数的人对应的下标
int *a, remain;
//动态申请连续的n个存储单元用来存放每个人的编号,将空间首地址赋值给a
a = (int *)malloc(n*sizeof(int));
for(i=0; i<n; i++)
a[i] = i+1; //a[i]保存第i个人的编号
i = 0; //从下标为0的人开始报数
//printf("Delete In Order: ");
while(count>1) //如果剩余人数大于1则循环
{