就是个约瑟夫环问题
原来可以直接套公式也
#include <iostream>
#include <cstring>
#include <string>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <vector>
#include <queue>
#include <map>
#define inf 0x3f3f3f3f
using namespace std;
int n,m;
int check()
{
int i,last;
last=0;
for(i=2;i<n;i++)
last=(last+m)%i;
if(last==0) return 1;
return 0;
}
int main()
{
while(scanf("%d",&n)&&n)
{
m=2;
while(!check()) m++;
printf("%d\n",m);
}
return 0;
}