作业帮 > 综合 > 作业

假定有N个小朋友,分别编号为1到N,他们按编号围成一个圆圈,从1开始报数,当报到3的小朋友出列,由下一个小朋友重新开始报

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/04 18:55:28
假定有N个小朋友,分别编号为1到N,他们按编号围成一个圆圈,从1开始报数,当报到3的小朋友出列,由下一个小朋友重新开始报1,直到最后剩下一个小朋友.
static void LastLeaver(int nums, int count)
{
int[] num = new int[nums];
for (int index = 0; index< num.Length; index++)
{
num[index] =index + 1;//从1-nums给每个人编号
}
int m = 0; //m为退出人数
int i = 0;//i为每次循环时的计数变量
int k = 0;//k为按1,2,3count报数时的计数变量
while (m < nums - 1)
{
if (num[i] != 0)
{
k++;
}
if (k == count)
{
num[i] = 0;
Console.WriteLine("{0}出列!", i + 1);
k = 0;
m++;
}
i++;
if (i == nums) i = 0;
}
for (int j = 0; j < nums; j++)
{
if (num[j] != 0)
{
Console.WriteLine("最后留下的是:{0}", j + 1);
}
}
}
有500个小朋友拉成一个圆圈,从其中一个小朋友开始依次编号1-500,从1号小朋友开始循环1-3报数,数到3的 12个小朋友手拉手站成一个圆圈,从某一个小朋友开始报数,报到7的那个小朋友退到圈外,然后他的下一位重新报“1”.这样继续 有N个人围成一个圈顺序编号,从第一个人开始报数(从1到M),凡报到M的人退出圈子, 有n个人围成一圈,按顺序从1到n编号.从第一个人开始报数,报数3的人退出圈子,下一个人从1开始重新报数, java程序题:有500个小朋友拉成一个圆圈,从其中一个小朋友开始依次编号1-500, c语言:有n个人围成一圈,按顺序编号.从第1个人开始报数,数到m时该人退出,并且下一个从1重新开始报数. C语言:有n个人围成一圈,按顺序从1到n编号.从第一个人开始报数,报数3的人退出圈子 C语言 有n个人围成一圈,按顺序从1到n编号.从第一个人开始报数,报数3的人退出圈子 (Java 语言)有 n 个孩子站成一圈,从第一个孩子开始顺时针方向报数,报到 3 的人出列,下一个人继续从 1 用C语言编写:有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,请输出报数出列圈及最 100个小朋友围成一圈,并依次编为1-100号.从第1号开始1至2报数,凡是报到1的小朋友退出圈子,这样循环进行到剩下最 猴子选大王n只猴子围坐成一个圈,按顺时针方向从1到n编号.然后从1号猴子开始沿顺时针方向从1开始报数,报到m的猴子出局,