计算小于或等于一个数字的正值之和

时间:2019-03-12 09:33:28

标签: javascript

我正在尝试计算小于或等于输入数字的正值之和,例如:5-> 1 + 2 + 3 + 4 + 5 = 15

我想到了这个

var num = Number(prompt("Enter a number "));
sum = 0;
i = num;

do {
    sum = sum += i; 
    i--
    document.write(sum);
 } while (i > 0);

我不明白我在做什么错。

8 个答案:

答案 0 :(得分:3)

我认为这是正确的代码:

var num = Number(prompt("Enter a number "));
sum = 0;
i = num;
do 
{
  sum += i;
  i--;
}
while (i > 0);
document.write(sum);

我建议您使用以下公式:document.write((num * (num + 1)) / 2);

答案 1 :(得分:1)

如果您更接近任务,就会发现:

如果Num = 1,则要求和的序列为[1]

如果Num = 2,则序列为[1、2]

如果Num = 3,则序列为[1、2、3]

您可以想象,例如,当num = 4时,您有一个边等于num的正方形:

****
****
****
****

您需要对1、2、3、4求和:

***#
**##
*###
####

看到了吗?这是一个三角形的正方形。

可以通过以下公式计算:num *(num + 1)/ 2

因此,您的代码可能是:

var num = Number(prompt("Enter a number "));
document.write(num * (num + 1) / 2)

答案 2 :(得分:0)

您应该在循环末尾写下答案,并使这个简单的和+ = i;。

var num = Number(prompt("Enter a number"));
sum = 0;
i = num;
do {
  sum += i;
  i--;
}

while (i > 0);
document.write(sum);

答案 3 :(得分:0)

您要在每个循环上写总和,而不是必须最终打印出来。如果要打印数字,则将其保留为数组,并在写入之前将其与+符号连接起来。要使其升序,请更改循环条件。

var num = Number(prompt("Enter a number "));
sum = 0;
i = 1;
nums = [];
do {
  sum = sum += i;
  nums.push(i++);
}

while (i <= num);

document.write(nums.join(' + ') + ' = ' + sum);

答案 4 :(得分:0)

用增量而不是减量进行操作,并在循环外显示求和结果。不使用in循环。创建数组以附加增量值。最后用document.write打印

var num=Number(prompt("Enter a number "));
sum = 0;
i = 1;
var a=[];
do {
   sum +=i;
   a.push(i)
   i++;
 } 
 while (num >= i);
 document.write(a.join('+')+'='+sum)

答案 5 :(得分:0)

var number = 5, // Your number
    result = 0;

while ( number !== 0 ) {
    result += number;
    number--;
}

document.write(result);

快速而宝贵的解决方案。

答案 6 :(得分:0)

在这种情况下,您可以根据需要进行完整的检查和显示:JAVA

     public static void main ( String arg[]) {

    Scanner scan = new Scanner(System.in);
    int number = scan.nextInt();
    System.out.println("Number entered :  " + number);
    int sum =1 ;

    if(number > 1) {

        int nextNumber = 1;
        System.out.print(nextNumber);

        do {
            // sum of all the positive numbers 
            nextNumber++ ;
            sum = nextNumber + sum;
            System.out.print( " + " + nextNumber);

        }while(nextNumber < number);

        System.out.print(" = " + sum);
    }
}

答案 7 :(得分:0)

var num = Number(prompt("Enter a number"));
sum = 0;

for (i = num; i > 0; i--) {
  sum += i;

}

document.write(sum);