#include<stdio.h>
#include<stdlib.h>
#define MAXN 10002
int main(void)
{
int n,k,m;
int i,j;
int f[MAXN];
while(scanf("%d%d%d",&n,&k,&m)==3&&n)
{
f[1]=0;
for(i=2;i<=n;i++)
f[i]=(f[i-1]+k)%i;
int ans=(m-k+1+f[n])%n;
if(ans<=0) ans+=n;
printf("%d\n",ans);
}
return 0;
}
还是没有想明白递归式为什么是这样子的……
【LA3882】约瑟夫问题变形学习
最新推荐文章于 2022-02-25 21:57:21 发布