输入一个数n,求1+(1+2)+(1+2+3)+…+(1+2+…+n)的值? 用javascript编写

(1)要求利用函数嵌套调用机制求解。
(2)要求只使用一条循环语句求解。

<html>
<head>
<script type="text/javascript" language="javascript">
// 说明:只保证值是正整数时的正确性

// 递归计算
function s1(n){
var v = new Number(n);
if (v < 1) {
return 0;
}
if (v == 1) {
return 1;
}
return v + s1(v - 1);
}
// 循环计算
function s2(n){
var sum = 0;
for (var i = 1; i <= new Number(n); i++) {
sum += i;
}
return sum;
}
</script>
</head>
<body>
n = <input type="text" id="n" value="3"/><br/>
<div>
<input type="button" value="递归计算" onclick="document.getElementById('sum1').innerHTML = s1(document.getElementById('n').value);" />
结果 = <span id="sum1"></span></div>
<div><input type="button" value="循环计算" onclick="document.getElementById('sum2').innerHTML = s2(document.getElementById('n').value);" />
结果 = <span id="sum2"></span></div>
</body>
</html>
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-12-22
function getSum(num,sum=0)
{
for(var i=1;i<=num;i++)
{
sum += i;
}
if(num>1)
{
getSum((num-1),sum);
}
}
getSum(n);
第2个回答  2010-12-22
<?php
/*
* Created on 2010-12-22
*
* To change the template for this generated file go to
* Window - Preferences - PHPeclipse - PHP - Code Templates
*/
$total=0;
for($k=1;$k<=10;$k++){
for($i=0;$i<$k;$i++){

}
$total=$total+$i+$k;
}

echo"$total";

?>
用php多简单