숫자를 인수분해
n 로 표시되는 경우 계승은 n 보다 작거나 같은 모든 양의 정수의 곱입니다. n! 이 문제를 해결하기 위해 내가 알고 있는 두 가지 방법이 있습니다.
function factorialize(num) {
let result = 1;
for (let i = 1; i <= num; i++) {
result *= i; // <--basically going to accumulate all of the numbers.
}
return result; //<-- returns 120;
}
console.log(factorialize(5)); // will display 120
i가 이 경우 5인 num보다 작거나 같을 때까지 매번 증가합니다. console.log(i) 우리는 1, 2, 3, 4, 5를 얻습니다. result를 만들었습니다. 왜냐하면 거기에 0을 넣으면 0을 곱할 때마다 0이 되기 때문입니다. 결과 변수는 기본적으로 모든 숫자를 누적합니다. 우리는 result = result times i 또는 바로 result times equal i를 따라가서 이 경우 120을 반환합니다. 또는
function factorialize(num) {
if (num === 0) {
return 1;
} else {
return num * factorialize(num - 1);
}
}
// factorialize(5); // will display 120
코드 설명:
If num == 0 , 그런 다음 1을 반환합니다. 즉, 효과적으로 재귀를 종료하고 스택에 이 값을 상위 수준으로 전파하도록 알립니다. 이 조건이 없으면 스택 공간이 소모될 때까지 재귀가 계속되어 스택 오버플로Reference
이 문제에 관하여(숫자를 인수분해), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/rthefounding/factorialize-a-number-16ak텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)