C语言笨办法,暴力模拟法。。。
这个问题好像可以转化为一个数学问题,和狼找兔子应该是一样的,最终会转化为公约数还是公倍数的问题,具体的忘了

#include<stdio.h>
int main()
{
    int n,m,k;
    scanf("%d %d %d",&n,&k,&m);
    int a[n];
    int nn=n;
    for(int i=0;i<n;i++)
    {
        a[i]=1;
    }
    
    for(int i=k,j=1;nn>1;i++)
    {
        if(i==n)
        {
            i=0;
        }
        if(a[i]!=0)
        {
            if(j==m)
            {
                j=1;
                a[i]=0;
                nn--;
//                printf("%d\n",i);
            }
            else
            {
                j++;
            }
        }
//        printf("%d-%d-%d-%d-%d-\n",a[0],a[1],a[2],a[3],a[4]);
    }
    for(int i=0;i<n;i++)
    {
        if(a[i])
        {
            printf("%d",i);
        }
    }
    return 0;
}