如何修改程序以输出方程的总和

时间:2015-10-13 03:24:09

标签: javascript

嗨,对于我的一个实验室,它试图告诉我做任务,例如,修改1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 =输出总和,同时保持它在一行而不是在页面上级联。这是我到目前为止,我不知道如何完成它。

var y= ""
for ( x = 0; x < 11; x++ ) {
    y+= x + "+" + "";
}
console.log(y);

修改

var sum = 0;
var y = "";

for (x = 0; x < 11; x++) {
    y += x + "+" + "";
    sum += x;
}
console.log(y, sum);

3 个答案:

答案 0 :(得分:3)

试试这个

var y= ""
var temp=[]
for ( x = 0; x < 10; x++ ) {
    temp.push(x+1);
}

y=temp.join('+');
var sum=temp.reduce(function(a, b){return a+b;});
y+='='+sum
console.log(y);

修改

更简单

var y = ""
var sum=0;
var n = 10;
for (x = 0; x < n; x++) {
    var val=(+x + 1);
    sum += val;
    y += val;
    if (x < n - 1) y += '+';
}
y+='='+sum;
console.log(y);

假设你有序列

n=5 

表示1+2+3+4+5=15

n= 4

表示1+2+3+4=10

每次{n} +后都没有被重复

这就是为什么if (x < n - 1)在您使用+ <{1}} x=4x时不会添加0的原因

答案 1 :(得分:0)

试试这个......

var out= "";
var sum=0;
for ( var i = 1; i < 11; i++ ) {
    out+=(i===1?""+i:"+"+i);
    sum=sum+i;
}
console.log(out+"="+sum);

答案 2 :(得分:0)

试试这个演示:

&#13;
&#13;
var i = 1;
var out = '';
var sum = 0;
while (10 >= i) {
  out += '+' + i;
  sum += i ++;
}
out += '=' + sum;
out = out.substr(1);//remove the first `+`
document.write(out);
&#13;
&#13;
&#13;