有点不明白
题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,继续重新开始,问最后留下的是原来第几号的那位。。这个问题是不是有bug,第一个人和第二个人的数永远是1和二,也就是说经过一定次数的循环报数之后应该只剩第一个和第二个,因为其他人的报数都会因为前两个人而为3,也就是说只会剩下第一个和第二个 本帖最后由 heidern0612 于 2020-4-12 13:38 编辑
约瑟夫环的问题。
这个问题的正确描述应该是退出的那个人,下一个算1.
也就是说从当前退出的下一个人开始计算报数,不是从头开始。
简单说10个人计算的话如下:
第一轮:
3退出后,从4开始;
6退出后,从7开始;
9退出后,从10开始;
第二轮:
2退出后,由于3没有了,所以从4开始;
由于没有6了,所以7退出,从8开始……
后面类推。 heidern0612 发表于 2020-4-12 13:31
约瑟夫环的问题。
这个问题的正确描述应该是退出的那个人,下一个算1.
哦哦,我还以为直到剩一个人的时候结束
页:
[1]