2015-05-07 4 views
0

Если у вас есть цикл в цикле или вложенном цикле, let`s сказать для цикла, независимо от языка программирования (конечно, должно быть обязательным)Математический эквивалент нескольких вложенных циклов

for(int j = 1; j <= 100; j++){ 
    for(int k = 1; k <= 200; k++){ 
    \\body or terms 
    } 
} 

является математическим эквивалент, когда я хочу, чтобы подвести его к = 1 при всех у = {1, 200} и я = 2 с снова все J = {1, 200} и так далее:

enter image description here

а также условие с красным кругом не нужно, не так ли?

И что же касается нескольких вложенных циклов?

+2

Sigma (Σ) означает сумму в математике, а не для циклов (вы имеете в виду сложность?) –

+0

Зачем это сумма? И что вы подразумеваете под условием «ненужное»? Кстати, с условием это не равно – Dici

+2

Является ли это суммой или чем-либо еще, зависит от кода в теле цикла. В вашем примере циклы 'j' и' k' не связаны между собой, поэтому формула суммирования, обозначающая «j> k', не имеет значения для вложенных циклов. –

ответ

2

код вы предоставили будет работать, как вы объяснили

сумма его = 1 со всеми J = {1, 200} и = 2 с снова все J = {1, 200} и так на

Однако математический эквивалент без условие отмечены красным цветом.

сигма с условие эквивалентно следующим кодом:

for(int j = 1; j <= 100; j++){ 
    for(int k = 1; k < j; k++){ 
    \\body or terms 
    } 
} 

Надеется, что я помог.

1

Sigma означает суммирование, а это значит, что если вы имеете дело с сигмы для диапазона, i=1,n, который определяется как x, то результат будет х * п (x + x + x + ... + xn раз). Трансляции в псевдокоде, это было бы так:

result = 0 
for i=1,n: 
    result = result + x 

Так что на самом деле не переводить на общий for цикла, который больше о doing что-то определенное число или раз или пока условие выполняется.

Часто, когда вы видите математиков, изучающих алгоритмы, которые относятся непосредственно к полям программного обеспечения, они используют более гибкую функциональную нотацию и рекурсию намного больше, чем суммирование, поскольку такая функциональная нотация фактически переводит чуть больше непосредственно на вычисления общего цикла, чем суммирование.

Смежные вопросы