http://poj.org/problem?id=1012
#include <stdio.h>
#include <string.h>
int main ()
{
int a[30],i,j,n,b[15],min,m;
for(i=1;i<=13;i++)
{
n=2*i;min=i+1;
memset(a,0,sizeof(a));
for(j=1;j<=i;j++)
{
a[j]=(a[j-1]+min-1)%(n-j+1);
if(a[j]<i)
{
j=0;
min++;
}
}
b[i]=min;
}
while (~scanf("%d",&m),m)
{
printf("%d\n",b[m]);
}
return 0;
}