早教吧作业答案频道 -->其他-->
c#N个人报数的题目n个人围成一圈报数,报到3和3的倍数的人离开,最后剩下一人是几号?最后剩下的那人报的数的总和是多少?
题目详情
c#N个人报数的题目
n个人围成一圈报数,报到3和3的倍数的人离开,最后剩下一人是几号?
最后剩下的那人报的数的总和是多少?
n个人围成一圈报数,报到3和3的倍数的人离开,最后剩下一人是几号?
最后剩下的那人报的数的总和是多少?
▼优质解答
答案和解析
class Program
{
static void Main(string[] args)
{
Console.WriteLine("请输入人数:");
int n=int.Parse(Console.ReadLine());
//创建报数的人的集合
List persons=new List();
for (int i=0; i < n; i++)
{
persons.Add(new Person());
}
//集合的索引、上一个报数的人的索引、已离队的人数、当前所报的数
int index=0, lastIndex=0, leaveCount=0, call=0;
while (true)
{
//如果当前这个人未离队
if (!persons[index].Leave)
{
//如果他所报的数是3的倍数
if (++call % 3 == 0)
{
persons[index].Leave = true;
leaveCount++;
//如果只剩最后一个人就退出循环
if (n - leaveCount == 1) break;
}
else
{//否则,累积当前这个人所报的数的和
persons[index].Sum += call;
lastIndex = index;
}
}
//集合索引+1,达到上限会回到0
index = ++index % n;
}
Console.WriteLine("最后一个人是第{0}个,他报数的总和是:{1}.", lastIndex + 1, persons[lastIndex].Sum);
Console.ReadLine();
}
}
class Person
{
///
/// 报数的总和
///
public int Sum = 0;
///
/// 是否离开报数队列
///
public bool Leave = false;
}
{
static void Main(string[] args)
{
Console.WriteLine("请输入人数:");
int n=int.Parse(Console.ReadLine());
//创建报数的人的集合
List persons=new List();
for (int i=0; i < n; i++)
{
persons.Add(new Person());
}
//集合的索引、上一个报数的人的索引、已离队的人数、当前所报的数
int index=0, lastIndex=0, leaveCount=0, call=0;
while (true)
{
//如果当前这个人未离队
if (!persons[index].Leave)
{
//如果他所报的数是3的倍数
if (++call % 3 == 0)
{
persons[index].Leave = true;
leaveCount++;
//如果只剩最后一个人就退出循环
if (n - leaveCount == 1) break;
}
else
{//否则,累积当前这个人所报的数的和
persons[index].Sum += call;
lastIndex = index;
}
}
//集合索引+1,达到上限会回到0
index = ++index % n;
}
Console.WriteLine("最后一个人是第{0}个,他报数的总和是:{1}.", lastIndex + 1, persons[lastIndex].Sum);
Console.ReadLine();
}
}
class Person
{
///
/// 报数的总和
///
public int Sum = 0;
///
/// 是否离开报数队列
///
public bool Leave = false;
}
看了c#N个人报数的题目n个人围成...的网友还看了以下:
什么是调号?五线铺里的最前面就是谱号的后面有时候会有几个b或#有时候是一个有时候多个那是什么意思? 2020-04-26 …
有时早晨的天空先是红色的,后又变成黄色,这是怎么引起的?比较罕见,在很早的时候天上不是只有接近太阳 2020-06-11 …
俄罗斯科学家用含20个质子的钙的一种原子轰击含95个质子的镅原子,结果4次成功合成4个第115号元 2020-07-01 …
下列关于板块运动所产生的后果,叙述错误的是()A.板块的碰撞挤压,使地中海逐渐缩小B.板块的张裂运 2020-07-22 …
雾为什么是胶体初中的雾的概念不是“小液滴”吗那为什么是胶体如果按照雾是“由小水滴凝结灰尘而成的”那 2020-07-28 …
一个公主与自己心爱的人的故事~一个公主让她心爱的人站在一百个人中,所有人围成一圈,公主站在圆的中心, 2020-11-02 …
关于商鞅变法(1)关于商鞅变法的目的是什么?变法得到了谁的支持?(2)商鞅后来被车裂而死,那么他变法 2020-11-07 …
阅读下面的散文(22分)复杂的必要史铁生①母亲去世十年后的那个清明节,我和父亲和妹妹去寻过她的坟。② 2020-11-08 …
如果你命不久矣,你会在最后的时间里做些什么???大家都知道,生命对任何一个人都是公平的不管你是谁,穷 2020-11-24 …
下列句中加粗的惯用词语,使用错误的是A.为了家乡能早日脱贫致福,我愿尽绵薄之力。B.学生给一位刚刚病 2020-12-20 …