Я думаю, что самый простой способ понять это, чтобы запустить его.
Например, для n=10
, значения Следующий код ява отпечатки i
и j
в каждой итерации:
for (int i=0; i<=10; i++){
for (int j=i-2; j<=i+2; j++)
System.out.println("i = " + i + ", j= " + j);
}
Результат выглядит следующим образом:
i = 0, j= -2
i = 0, j= -1
i = 0, j= 0
i = 0, j= 1
i = 0, j= 2
i = 1, j= -1
i = 1, j= 0
i = 1, j= 1
i = 1, j= 2
i = 1, j= 3
i = 2, j= 0
i = 2, j= 1
i = 2, j= 2
i = 2, j= 3
i = 2, j= 4
i = 3, j= 1
i = 3, j= 2
i = 3, j= 3
i = 3, j= 4
i = 3, j= 5
i = 4, j= 2
i = 4, j= 3
i = 4, j= 4
i = 4, j= 5
i = 4, j= 6
i = 5, j= 3
i = 5, j= 4
i = 5, j= 5
i = 5, j= 6
i = 5, j= 7
i = 6, j= 4
i = 6, j= 5
i = 6, j= 6
i = 6, j= 7
i = 6, j= 8
i = 7, j= 5
i = 7, j= 6
i = 7, j= 7
i = 7, j= 8
i = 7, j= 9
i = 8, j= 6
i = 8, j= 7
i = 8, j= 8
i = 8, j= 9
i = 8, j= 10
i = 9, j= 7
i = 9, j= 8
i = 9, j= 9
i = 9, j= 10
i = 9, j= 11
i = 10, j= 8
i = 10, j= 9
i = 10, j= 10
i = 10, j= 11
i = 10, j= 12
Вы можете видеть теперь, что есть 10
итераций для i
, и для каждого i
у вас есть 5
итерации j(from i-2 to i+2)
. Следовательно, всего 50 (5*N)
итераций.
Сколько раз вы думаете, он будет выполнять? Во-первых, сколько раз выполняется цикл j? –