看到这个题目都没有思路 各位大佬有什么好的想法吗
哪里需要递归,一个while循环搞定的事
既然你用c#,那肯定知道list吧
知道list可以add也可以remove吧
你就完全模拟这个过程,不要的remove掉,然后继续
List<int> 猴子群=new List<int>{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};//这里随便初始化一个数组当猴群
int m=3;//假设每隔3个删掉一个
int i=0;//数组位置
int im=0;//删除计数
while(猴子群.Count>1)
{
if(im==m)
{
im=0;
猴子群.RemoveAt(i);
}
else
{
im++;
}
if(i>=猴子群.Count)
{
i=0;
}
else
{
i++;
}
}
递归
建议 递归,可以传递2个参数,一个是list ,一个是m就行,当递归到最后一个时
请搜索 ‘约瑟夫环’ 问题