我不明白西格玛符号和循环

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)

但是,我真的无法理解这一点!任何人都可以向我解释这个?????

非常感谢你

Gab*_* L. 3

关于第二个总和,它开始于k=j,结束于i。该总和不等于(j - i - 1),而是等于(i - j + 1)。让我们举个例子:

如果j = 3i = 6,那么k = 3sum = 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)