作业帮 > 综合 > 作业

设编号从1,2,...,n的n个人围坐一圈,约定编号为k(1

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/04/28 08:53:22
设编号从1,2,...,n的n个人围坐一圈,约定编号为k(1
设编号从1,2,...,n的n个人围坐一圈,约定编号为k(1
public class ListTest
{
public void outList(int[] a,int m,int n)
{
int flag1 = 0; //计数用 判断加到m时 处理出队
int flag2 = 0; // 计数 当为n 时 程序退出
for(int i = 0; i < n; i++)
{
if(a[i] != -1)
flag1++;
if(flag1 == m)
{
flag1 = 0;
flag2++;
System.out.println(a[i]); // 第几个人出队
a[i] = -1;
}
if(i == (n - 1))
i = -1;
if(flag2 == n)
{
return;
}
}
}
public static void main(String[] args)
{
int n = 10;
int m = 7;
int[] a = new int[50];
for(int i = 0; i < n; i++)
{
a[i] = i + 1;
}
ListTest listTest = new ListTest();
listTest.outList(a,m,n);
}
}
程序已经测试过 这是个数组的 但大概算法就是这样
设编号从1,2,...,n的n个人围坐一圈,约定编号为k(1 约瑟夫环问题:设编号为1,2,3,……,n的n(n>0)个人按顺时针方向围坐一圈,m为任意一个正整数.从第一个 数据结构课程设计:设有n个人围坐在一个圆桌周围,编号为1,2,…,n.现在从第s个人开始逆序报数,即:第s个 设有n个人围坐一圈并按顺时针方向从1到n编号,从第s个人开始进行1到m的报数,报数到第m个人,此人出圈,再从他的下一个人 C 设有n个人围坐一圈并按顺时针方向从1到n编号,从第s个人开始进行1到m的报数,报数到第m个人,此人出圈,再从他的下一 原始的Joseph问题的描述如下:有n个人围坐在一个圆桌周围,把这n个人依次编号为1,……,n.从编号是1 的人开始报数 新的 猴子选大王 代码 猴子选大王 功能:设编号为1,2,3,……,n的n(n>0)个猴子按顺时针方向围坐 约瑟夫环 已知n个人围坐在一张圆桌周围.从编号为k的人开始报数,数到m的那个人出列,m是什么 1.设有n个人围做在圆桌周围,从某个位置开始用自然数进行编号为1,2….,n.然后从编号为k的人从1开始报数, C语言:有n个人围成一圈,按顺序从1到n编号.从第一个人开始报数,报数3的人退出圈子 C语言 有n个人围成一圈,按顺序从1到n编号.从第一个人开始报数,报数3的人退出圈子 k个盒子中装有n个球,编号为1,2,...,n,从每个盒子中取一球,计算所得到的k个球中最大编号为m的概率(1≤m≤n