题目描述
输入
输出
样例输入
样例输出
源代码
①
#include<stdio.h>
int main()
{
int n, m, n1, i = 0, step;
scanf("%d %d", &n, &m);
int s[1000]={2};
for (int j = 0; j < n; j++)
{
s[j] = 0;
}
n1 = n;
while (n1 > 1)
{
step = m;
while (1)
{
i++;
if (i >= n)
{
i = 0;
}
if (s[i] == 0)
{
step--;
}
if (step <= 0)
{
break;
}
}
s[i] = 1;
n1--;
}
for (int k = 0; k < n; k++)
{
if (s[k] == 0)
{
printf("%d\n", k);
}
}
return 0;
}
②
#include <stdio.h>
#include <stdlib.h>
int main()
{
int m, n;
while (~scanf("%d %d", &n, &m))
{
int p = 0;
for (int i = 2; i <= n; i++)
{
p = (p + m) % i;
}
printf("%d\n", p + 1);
}
return 0;
}
关于这题