#include <stdio.h>
#include <stdlib.h>
#define MAXN 20
void CountOff( int n, int m, int out[] );
int main()
{
int out[MAXN], n, m;
int i;
scanf("%d %d", &n, &m);
CountOff( n, m, out );
for ( i = 0; i < n; i++ )
printf("%d ", out[i]);
printf("\n");
return 0;
}
void CountOff( int n, int m, int out[] )
{ // 约瑟夫环问题
int i, j = 0, p = 0; //1.首先要有一个数组当人的编号;
int num[MAXN]; //2.i,j,p,分别是 数组num下标,被排除的次序
//和计次m
for (i = 0; i < n; i++) { //3.先正常循环一次
num[i] = i + 1; //4.在正常循环一次······
} //5.每次循环没被排除的人,p++,
i = 0; //6.当p == m 时,++j同时out数组读取排除次数j
while (j < n) { //把被排除的数组num改成的值 -1
if (num[i] > 0) { //7.如果 i 走到 n,i就要等于0,因为 数组num
p++; //要重新数了
} //8.循环完一次 i++;
if (p == m) { //
out[i] = ++j; //
num[i] = -1; //
p = 0; //
} //
if (++i == n) { //
i = 0; //
} //
} //
} //