约瑟夫问题:M个人围成一圈,从第一个人开始依次从1到N循环报数,每当报数为N时此人出圈,直到剩一人为止请按退出次序输出出圈人原来的编号以及留在圈中的最后一个人原来的编号.请用TC编

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/04 20:50:24
约瑟夫问题:M个人围成一圈,从第一个人开始依次从1到N循环报数,每当报数为N时此人出圈,直到剩一人为止请按退出次序输出出圈人原来的编号以及留在圈中的最后一个人原来的编号.请用TC编

约瑟夫问题:M个人围成一圈,从第一个人开始依次从1到N循环报数,每当报数为N时此人出圈,直到剩一人为止请按退出次序输出出圈人原来的编号以及留在圈中的最后一个人原来的编号.请用TC编
约瑟夫问题:M个人围成一圈,从第一个人开始依次从1到N循环报数,每当报数为N时此人出圈,直到剩一人为止
请按退出次序输出出圈人原来的编号以及留在圈中的最后一个人原来的编号.请用TC编程,

约瑟夫问题:M个人围成一圈,从第一个人开始依次从1到N循环报数,每当报数为N时此人出圈,直到剩一人为止请按退出次序输出出圈人原来的编号以及留在圈中的最后一个人原来的编号.请用TC编
#include "stdio.h"
#define M 65
int main()
{
int i,k,n,m,count;
int name[M];
scanf ("%d %d",&n,&m);// 有n个人
for (i = 0;i < n;i ++)//编号
{
name[i]= i +1;
}
k = 0;
for (i = 0;i < n;i ++)
{
count = 0;
while (count < m) //每到m个人就输入
{
while (name[k] == 0)
k = (k + 1)%n;
count ++;
k = (k + 1)%n;
}
k --;
if (k < 0)
k = n-1;
printf ("%d\n",name[k]);
name[k] = 0;
}
return 0;
}
如果哪里不明白,就提出来啊

约瑟夫问题:M个人围成一圈,从第一个人开始依次从1到N循环报数,每当报数为N时此人出圈,直到剩一人为止请按退出次序输出出圈人原来的编号以及留在圈中的最后一个人原来的编号.请用TC编 数据结构的题目.用数组和链表存储方式实现约瑟夫问题.约瑟夫问题: n个人围成一个圆圈,首先第一个人从1开始一个人一个人顺时针报数,报到第m个人,令其出列.然后再从下一个人开始, How to solve 约瑟夫问题 by C++ ?约瑟夫问题:设编号为1,2,…,n的n(n>0)个人按顺时针方向围坐一圈,每人持有一正整数密码.开始时任选一个正整数作为报数上限值m,从第一个人开始顺时针方向自1 分别用数组和链表实现约瑟夫环.约瑟夫(Joseph)问题的一种描述是:编号为1,2,…,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数).一开始任选一个正整数作为报数上限值m,从第一个人 vb求约瑟夫问题的求解:有n个人围成一个圈,由第一个人开始报数,数到第k个人,这个人 约瑟夫环问题(C语言)编序为1,2,...n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数),一开始人选一个整数作为报数上限m,从第一个人开始按顺时针方向从自1开始顺序报数,报 求数据结构算法,急用!约瑟夫问题的描述是:编号为 1,2,----,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数).一开始人选一个正整数作为报数上限值m,从第一个人开始按顺时针方 求做一个C语言题目约瑟夫问题.M个人围成一个圈,从第一个人开始报数,数到N的人出圈,再由下一个人开始报数,数到N的人出圈,输出依次出圈人的编号.M,N值由键盘输入.例如:M=8,N=5则依次出圈的 C语言:有n个人围成一圈,按顺序从1到n编号.从第一个人开始报数,报数3的人退出圈子【问题描述】 有n个人围成一圈,按顺序从1到n编号.从第一个人开始报数,报数3的人退出圈子,下一个人从1开 约瑟夫环问题 谢谢 在线等约瑟夫环问题是算法设计中的一个经典问题,是顺序编号的一组n个人围坐一圈,从第1个人按一定方向顺序报数,在报到m时该人出列,然后按相同方法继续报数,直到所有 约瑟夫环问题:设编号为1,2,3,……,n的n(n>0)个人按顺时针方向围坐一圈,m为任意一个正整数.从第一个用C++怎么实现,求助…… 约瑟夫环问题,用C语言编写设N个人围坐一圈,并按顺时针方向1-N编号,从s个人开始报数,报到第m个人,此人出圈,后面的人继续从1到m报数,直到最后一个人, 求数据结构算法!急用!1、 约瑟夫环问题约瑟夫问题的描述是:编号为 1,2,----,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数).一开始人选一个正整数作为报数上限值m,从第一个 约瑟夫环编号为1,2,3,……,n的n个人按顺时针方向围坐一圈.任选一个正整数作为报数上限m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数.报m的人出列,从他在顺时针方向上的 求C语言实现约瑟夫环!1.编号是1,2,……,n的n个人按照顺时针方向围坐一圈,每个人持有一个密码(正整数).一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报 M个人围成一圈,从第一个人开始依次从1循环报数,每当报数为N时此人从圈中出来,下一个人又从1开始报数,使用c语言编程, /*3、约瑟夫问题约瑟夫问题:有n只猴子,按顺时针方向围成一圈选大王(编号从1到n),从第1号开始报数,一直数到m,数到m的猴子退出圈外,再从出圈的下一个 开始报数.就这样,直到圈内只剩下 有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出n为50