Jan*_*Doe 8 algorithm for-loop
我有那本书说的

并说这相当于说
for(i = 1; i <= N; i++)
Sum += i;
Run Code Online (Sandbox Code Playgroud)
并进一步说利用这个简单的公式,

自(最大值 - 最小值+ 1)
它说将此更改为C代码
for(k = j; k <= 1; k++)
Sum += k;
Run Code Online (Sandbox Code Playgroud)
但是,我真的无法理解这一点!任何人都可以向我解释这个?????
非常感谢你
关于第二个总和,它开始于k=j,结束于i。该总和不等于(j - i - 1),而是等于(i - j + 1)。让我们举个例子:
如果j = 3和i = 6,那么k = 3和sum = 1+1+1+1 = 4。通过应用公式:sum = (i - j + 1) = 6 - 3 + 1 = 4。
现在,第一个示例的 C 代码,他们说:
for(i = 1; i <= N; i++) Sum += i;
这是错误的。相反,它应该是:
for(i = 1; i <= N; i++)
Sum += 1;
Run Code Online (Sandbox Code Playgroud)
在第二个中,他们说:
for(k = j; k <= 1; k++) Sum += k;
相反,它应该是:
for(k = j; k <= i; k++)
Sum += 1; // Where i >= j
Run Code Online (Sandbox Code Playgroud)