难道是我文意意思理解错了,我想听听你们的理解?

img

img

这个题目真诡异,感觉案例是错误的,贴个代码参考:

#include<stdio.h>
#define MAXN 20
void CountOff(int n,int m,int out[]);

int main()
{
    int i,n,m,out[MAXN];
    scanf("%d %d",&n,&m);
    CountOff(n,m,out);
    for(i = 0;i<n-1;i++)
        printf("%d ",out[i]);
    
    return 0;
}

void CountOff(int n,int m,int out[])
{
    int a[MAXN+1];
    int i,j,t=n,q=1,k=0;//t表示剩余人数
    for(i=1;i<=n;i++)
        a[i] = 0;
    for(i= 1;i<=n;i++)
    {
        if (a[i] == 0)
        {
            if(q%m == 0)
            {
                out[k++] = i;
                q = 1;
                a[i] = 1;
                t--;
            }else
            {
                q++;
            }
        }
        if(i == n)
            i = 0;
        if(t == 1)
            break;
    }
}