中易网

约瑟夫问题求解释(圆桌问题)Java

答案:1  悬赏:20  
解决时间 2021-01-15 00:25
  • 提问者网友:不要迷恋哥
  • 2021-01-14 10:34
约瑟夫问题求解释(圆桌问题)Java
最佳答案
  • 二级知识专家网友:十年萤火照君眠
  • 2021-01-14 11:55
while (true) {
for (j = 0; j < m;) //在圈中数m个人
{
i = (i + 1) % n; //判断下一个人是否已离开,因为是环形的遇到最后一个+1时i会变成0
if (a[i] >0) j++; //a[i] >0表示第i个人还没有离开
}
//m个人数好了,这时候下一个就是要离开的

if(k==n) break; //k等于n表示只剩下一个人了,这个人就是最后的获胜者,break跳出循环
System.out.println("No." + a[i] + " is out!");
a[i] = -1; //表示该人离开
k++;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息