javascript编程求1! +...10!

如题所述

第1个回答  2016-06-14
<script type="text/javascript">
//计算阶乘
function  factorial(num){
var result = 1;
for(var i = 1; i<=num; i++){
result *=i;
}
return result;
}
//计算1!+...+10!
function sum(){
var sum = 0;
for(var i=1; i<=10; i++){
sum +=factorial(i);
}
return sum;
}
</script>

追问

没有输出啊

追答

加到html文件里,点击calculate调用,返回值用alert()显示,如下:

test.html

<!DOCTYPE html>
<html>
<head>
<title></title>
<script type="text/javascript">
//计算阶乘
function  factorial(num){
  var result = 1;
     for(var i = 1; i<=num; i++){
         result *=i;
     }
     return result;
}
//计算1!+...+10!
function sum(){
     var sum = 0;
     for(var i=1; i<=10; i++){
         sum +=factorial(i);
     }
     alert(sum);
}
</script>
</head>
<body>
<button onclick="sum()">calculate</button>
</body>
</html>

本回答被网友采纳
第2个回答  2016-06-14
alert(sum(10));//求1!+...+10!
function sum(num){
    //初始化数组
    var n = [];
    for(var i=0;i<num;i++){
        n[i]=i+1;
    }
    jc(n);
    //计算前n阶乘之和,即数组之和
    return eval(n.join("+"));
}
//将每个阶乘结果放入到数组中形成阶乘数组
function jc(arr){
    for(var i=1;i<arr.length;i++){
        arr[i]=arr[i-1]*arr[i];
    }
    return arr;
}

第3个回答  2016-06-14

相似回答