多个嵌套循环的数学等价物
Mathematical equivalent of multiple nested loops
当你有循环中的循环或嵌套循环时,就说for循环,不管是什么编程语言(当然必须是命令式的)
for(int j = 1; j <= 100; j++){
for(int k = 1; k <= 200; k++){
\body or terms
}
}
是数学等价物,当我想将 i = 1 与所有 j = {1, 200} 和 i = 2 与所有 j = {1, 200} 相加时,依此类推:
而且红圈条件是不需要的吧?
同样适用于多个嵌套循环?
您提供的代码将 运行 正如您解释的那样
sum it for i = 1 with all j = {1, 200} and i = 2 with again all j = {1, 200} and so on
但是,数学等价物是 没有 标记为红色的条件。
sigmas 和条件等同于这段代码:
for(int j = 1; j <= 100; j++){
for(int k = 1; k < j; k++){
\body or terms
}
}
希望我有所帮助。
Sigma 代表求和,这意味着如果你处理一个范围的 sigma,i=1,n
,定义为 x
,那么结果将是 x * n (x + x + x + ... + x
n
次)。转录成伪代码,应该是这样的:
result = 0
for i=1,n:
result = result + x
所以它并没有真正转化为一般的 for
循环,它更多的是关于 doing
某个特定次数或次数或直到满足条件。
通常当你看到数学家研究与软件领域直接相关的算法时,他们使用更灵活的函数符号和递归比求和更多,因为这样的函数符号实际上比求和更直接地转化为一般循环计算.
当你有循环中的循环或嵌套循环时,就说for循环,不管是什么编程语言(当然必须是命令式的)
for(int j = 1; j <= 100; j++){
for(int k = 1; k <= 200; k++){
\body or terms
}
}
是数学等价物,当我想将 i = 1 与所有 j = {1, 200} 和 i = 2 与所有 j = {1, 200} 相加时,依此类推:
而且红圈条件是不需要的吧?
同样适用于多个嵌套循环?
您提供的代码将 运行 正如您解释的那样
sum it for i = 1 with all j = {1, 200} and i = 2 with again all j = {1, 200} and so on
但是,数学等价物是 没有 标记为红色的条件。
sigmas 和条件等同于这段代码:
for(int j = 1; j <= 100; j++){
for(int k = 1; k < j; k++){
\body or terms
}
}
希望我有所帮助。
Sigma 代表求和,这意味着如果你处理一个范围的 sigma,i=1,n
,定义为 x
,那么结果将是 x * n (x + x + x + ... + x
n
次)。转录成伪代码,应该是这样的:
result = 0
for i=1,n:
result = result + x
所以它并没有真正转化为一般的 for
循环,它更多的是关于 doing
某个特定次数或次数或直到满足条件。
通常当你看到数学家研究与软件领域直接相关的算法时,他们使用更灵活的函数符号和递归比求和更多,因为这样的函数符号实际上比求和更直接地转化为一般循环计算.