我正在尝试计算小于或等于输入数字的正值之和,例如: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);
我不明白我在做什么错。
答案 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);