Есть ли разница в том порядке, что умножения выполняются в рекурсивная факториальная функция в зависимости от того, является ли последнее возвращение фактом (n-1) * n по сравнению с формой n * факт (n-1)?
Нет там не будет никакой разницы
В коммутативных Законы говорят, мы можем поменять местами цифры снова и все еще получить тот же ответ ...
... когда мы добавить:
a + b = b + a
... или когда мы умножаем:
A × B = B × в
Сейчас подходит к порядку Да это обязательно изменится
для return fact(n-1)*n;
fact(4) will return fact(3)*4;
fact(3) will return fact(2)*3;
fact(2) will return fact(1)*2;
fact(1) will return 1;
Так Заказать
1*2;
2*3;
6*4;
и для return n*fact(n-1);
fact(4) will return 4*fact(3);
fact(3) will return 3*fact(2);
fact(2) will return 2*fact(1);
fact(1) will return 1;
Так Заказать
2*1;
3*2;
4*6
Ответ, очевидно, будет таким же, но как насчет порядка выполнения умножений? – Roope
@Roope, проверьте отредактированный ответ –