确定以下内容的好方法是什么。

您有一张桌子,其大小为N。每个回合,每个玩家轮流。

您知道应该先行的玩家的索引,并且每个玩家将转一圈以升序排列,并在到达最后一个索引时循环回到0。例如,如果索引3的玩家排在第一位,那么4将排第二,而2将排在最后。

您如何计算本回合中最后一名球员的指数?

这是一种方法:

var startPosition = 3;
var numberOfPlayers = 10;

for (var i=0;i<numberOfPlayers;i++) {
  startPosition++;
  if (startPosition == numberOfPlayers) startPosition = 0;
}

最佳答案

(startPos + numberOfPlayers - 1) % numberOfPlayers

07-22 17:26