先说一下思路:
- 使用 promopt() 函数获取到用户输入的数值,这里的类型是String,需要转换成Number类型。
- 编写 累加 函数
- 编写 阶乘 函数
- 在累加函数中调用 阶乘函数,实现累乘效果。
看代码:
<script>
var n=prompt("输入一个数","")*1;
// 累加函数
function leijia(n){
var sum1=0;
for(var i=1;i<=n;i++){
sum1+=leicheng(i);
}
return sum1
}
console.log(leijia(n));
// 阶乘函数
function leicheng(n){
var sum2=1;
if(n==0){
return 1;
}
for(var j=1;j<=n;j++){
sum2*=j;
}
return sum2;
}
</script>
注:当用户输入的是 0 的时候,阶乘为 1 需要重新对这一情况附加条件。
也可以使用递归函数实现。