我試圖解決hackerrank上的一個難題(夏洛克和查詢之謎 - https://www.hackerrank.com/challenges/sherlock-and-queries)。工作了一段時間後,我開始在互聯網上尋找一些幫助。我在這裏找到一個帖子https://codereview.stackexchange.com/questions/58095/sherlock-and-queries-challenge?newreg=0bf47176275d428dbdfa0c6a4bc86f07,讓我困惑。看起來好像他改變了這一'For'循環後跟'if'語句變成'for'循環
for (int j = 0; j < N; ++j) {
if (j % B[i] == 0)
...
}
這個
for (int j = B[i] - 1; j < N; j += B[i]) {
...
}
有人能請解釋一下這兩個怎麼是等價的?