什么是我无法弄清楚的优雅模数?

And*_*son 2 javascript math

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

你有一个游戏玩家的桌子,大小为N.每轮,每个玩家轮流.

你知道应该首先进入的玩家的索引,并且每个玩家将在数组中上升,并在它到达最后一个索引时循环回到0.例如,如果在索引3处的玩家先行,那么4将成为第二,而2将成为最后一个.

你如何计算一轮中最后一名球员的指数?

这是一种方式:

var startPosition = 3;
var numberOfPlayers = 10;

for (var i=0;i<numberOfPlayers;i++) {
  startPosition++;
  if (startPosition == numberOfPlayers) startPosition = 0;
}
Run Code Online (Sandbox Code Playgroud)

Ign*_*ams 7

(startPos + numberOfPlayers - 1) % numberOfPlayers
Run Code Online (Sandbox Code Playgroud)

  • 最糟糕的是`-1%n`的结果取决于你使用的语言. (2认同)