确定以下内容的好方法是什么。
您有一张桌子,其大小为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