JavaScript를 배우면서도 Factorials를위한이 솔루션을 생각해 냈습니다. 피드백을 받고 싶습니다. 이것이 효율적인가요? JavaScript를 사용한 팩터 리얼
function factorialize(num) {
var total= [];
if(num!==0){
for(var i=1; i<=num; i++){
total.push(i);
}
var newTotal = total.reduce(function(a,b){
return a*b;
});
return newTotal;
}else {
return 1;
}
}
console.log(factorialize(6));
나는 온라인으로 볼 읽고 이해하기 쉬운이 다른 방법으로, 나는 단지이 방법을 생각할 수 없다.
비 재귀 재귀
var factorial = function(n) {
if(n == 0) {
return 1
} else {
product = 1;
for(i = 1; i <= n; i++) {
product *= i;
}
return product;
}
}
console.log(factorial(num));
: 그것에 대해 비판 할 수 있는지, 그것은 메모리 조금 낭비라는 것이다하지만
var factorial = function(n) {
if(n == 0) {
return 1
} else {
return n * factorial(n - 1);
}
}
console.log(factorial(num));
"피드백을 받고 싶습니다."이 사이트에서는 너무 모호합니다. 특별한 우려 사항이 있으면 알려주십시오. 그렇지 않은 경우 [코드 검토 사이트] (https://codereview.stackexchange.com/)에서이 질문을 할 수 있습니다. –
첫 번째 방법은 흥미 롭습니다. 숫자를 배열에 넣은 다음 array.reduce 메서드를 사용하십시오. 단순히 진행하면서 곱하는 것보다 효율성이 떨어집니다. 주로 당신이해야 할 모든 배열 접근 때문에. 재귀 적 메서드는 많은 함수 호출을 필요로하므로 단순 루프보다 효율적이지 않습니다. 모든 방법은 프로그래밍 개념을 소개하는 데 유용하지만 가장 실용적인 것은 아닙니다. –
또한 처음부터 배열을 사용하여 리소스를 낭비한다고 생각합니다. 나는 재귀 적 또는 비 재귀 적 솔루션과 같은 간단한 접근법을 갖고있는 것처럼 보이지 않는다. 버머! – crg821