Есть такая
задача на codewars.
Грубо говоря необходимо написать формулу n! / (k! * (n - k)!).
На выходе я получил такой код:
function choose (n, k) {
function factorial (i) {
return (i > 0) ? i * factorial (i-1) : 1;
}
return factorial (n) / (factorial (k) * factorial(n-k));
}
Код рабочий. Но в конце этой каты написано следующее:
Будьте осторожны: ожидается определенная степень оптимизации, которая будет касаться как большей точности чисел (и их ошибок округления в таких языках, как JS), так и времени вычислений.
Я ничего не понял. О какой оптимизации идет речь и что вообще от меня хотят?