首先:
0的阶乘就是1,这是人为的规定。
function factorial(n){
if(n===1||n===0){
return 1;
}
return n*factorial(n-1);
}
const result=factorial(5)+'';
const arr=[...result];
let s=0;
for(let i=arr.length-1;i>=0;i++){
if(arr[i]==0){
s=s+1;
} else {
break;
}
}
console.log('Output:',s);
简化一下为:(但是看起来就有点简略了)
function factorial(n) {
return n === 1 || n === 0 ? 1 : n * factorial(n - 1)
}
// 转字符串
const result = factorial(20) + '';
// 解构赋值
const arr = [...result];
// 反转数组
arr.reverse();
let s = 0;
for (let i = 0; i >= 0; i++) {
if (arr[i] == 0) {
s++;
} else {
break;
}
}
console.log('Output:', s);