#include<stdio.h> /*围圈报数*/
void left(int *p,int m,int n)
{
int i,j,count;
i = j = count = ;
while(count < m-)
{
if(*(p+i) != )
j++;
if(j == n)
{
*(p+i) = ;
count++;
j = ;
}
if(++i == m)
i = ;
}
} int main(void)
{
int x,y;
scanf("%d%d",&x,&y);
int arr[x];
int i;
for(i=; i<x; i++)
arr[i] = i+;
left(arr,x,y);
for(i=; i<x; i++)
if(arr[i] != )
printf("%d\n",arr[i]);
return ;
}
相关文章
- 算法训练 - 筛选号码 (有n个人围成一圈,顺序排号(编号为1到n)。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子。从下一个人开始继续报数,直到剩下最后一个人,游戏结束。)
- n个人(编号 1~n)围成一- 圈从编号为1的开始报数,从1报数到m;报到m的人出来
- 如何用C语言实现圈叉游戏(-)
- 题目: 有 n个人围成一圈,顺序排号。从第一个人开始报数(从 1到 3报数),凡报到 3的 人退出圈子,问最后留下的是原来第几号的那位。(模拟)
- 有n 个人围成一圈,顺序排号。从第一个人开始报数(从1 到3 报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位
- 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的哪位。
- 有n人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的那位。
- C语言编程:有n个人围成一圈,顺序排号。从第一个人开始报数...
- 约瑟夫环问题:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
- c#微信开发,使用JS-SDK自定义分享功能,分享朋友圈,分享给朋友等