Рассмотрим цикл for (i=1; i <= n; i++)
. Легко видеть, что это повторяется n раз. Мы можем нарисовать это как:
* * * * *
Теперь, когда у вас есть два таких вложенных цикла, ваш внутренний цикл будет повторяться n (n + 1) / 2 раз. Обратите внимание, как это образует треугольник, и на самом деле числа этой формы известны как треугольные числа .
* * * * *
* * * *
* * *
* *
*
Так что, если мы расширим это на другое измерение, оно сформирует тетраэдр. Поскольку я не могу сделать 3D здесь, представьте, что каждый из этих слоев наложен друг на друга.
* * * * * * * * * * * * * * *
* * * * * * * * * *
* * * * * *
* * *
*
Они известны как тетраэдрические числа , которые производятся по следующей формуле:
n(n+1)(n+2)
-----------
6
Вы должны быть в состоянии подтвердить, что это действительно так с небольшой тестовой программой.
Если мы заметим, что 6 = 3! , нетрудно увидеть , как этот шаблон обобщается для более высоких измерений :
n(n+1)(n+2)...(n+r-1)
---------------------
r!
Здесь r - количество вложенных циклов.