#include <stdio.h>
int main() 
{
    int n,k,m,count=0;
    scanf("%d %d %d",&n,&k,&m);
    int a[n],left=n;//left 为剩余的人数。
    for(int i=0;i<n;i++)
    {
        a[i]=0;
    }
    for(int j=k;a[j]!=1;j++)
    {
        count++;
        if(count%m==0)
        {
            a[j]=1;
            left--;
        }
        if(j==n-1)
        {
            break;
        }
    }
    while(left!=0)
    {
        for(int t=0;t<n;t++)
        {
            if(a[t]!=1)
            {
                count++;
            }
            if(a[t]!=1&&count%m==0)
            {
                a[t]=1;
                left--;
            }
            if(left==0)
            {
                printf("%d",t);
                break;
            }
        }
        if(left==0)
        {
            break;
        }
    }
    return 0;
}

第一次从所给的数字开始便利,第二次之后开始进行从0开始遍历全部,直至只剩下最后一个。