#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <assert.h>
#include <ctype.h>
//约瑟夫环
int JosephProblem(int n)
{
int *arr = (int )malloc(nsizeof(int));
int count = n;//还在参与游戏的人数
int i;
for(i=0;i<n;i++)
{
arr[i] = 1;
}
i = 0;
int tmp = 0;//报数器
while(count > 1)
{
if(arr[i] == 1)
{
tmp++;
if(tmp == 3)
{
arr[i] = 0;
count--;
tmp = 0;
}
}
//i++;//error
i = (i+1)%n;//****** 环形处理
}
for(i=0;i<n;i++)
{
if(arr[i] == 1)
{
break;
}
}
free(arr);
return i+1;
}
int main()
{
for(int i=1;i<10;i++)
{
printf("%d\n",JosephProblem(i));
}
return 0;
}