数学逻辑
#include <stdio.h>
int main()
{
int k,joseph[15]={0};
while (scanf("%d",&k) && k)
{
if (joseph[k]!=0)
{
printf("%d\n",joseph[k]);
continue;
}
int n=k+k;
int ans[30]={0};
int m=1;
for (int i=1; i<=k; i++)
{
ans[i]=(ans[i-1]+m-1)%(n-i+1);
if (ans[i]<k)
{
i=0; m++;
}
}
joseph[k]=m;
printf("%d\n",m);
}
return 0;
}