Я написал функцию, которая вычисляет это значение / формулу:
![formula](https://i.imgur.com/V8kCCYB.png)
, и у меня есть 2 реализации, и я не понимаю, почему реализация с 3 циклами работает быстрее чем реализация с if's?
Пожалуйста, объясните мне, почему это так?
Реализация If:
function res(p, square) {
let res = 0
let i = 1;
let j = 1;
let k = 1;
label: for (;;) {
res += (i ** 3 * j ** 2 * k)
if (k < p) {
k++
continue label
}
if (j < p) {
k = 1
j++
continue label
}
if (i < p) {
k = 1
j = 1;
i++
continue label
}
if (k == p && j == p && i == p) {
return res
}
}
}
L oop реализация:
function res1(p) {
let res = 0
for (let i = 0; i <= p; i++) {
for (let j = 0; j <= p; j++) {
for (let k = 0; k <= p; k++) {
res += (i ** 3 * j ** 2 * k)
}
}
}
return res
}