var number = prompt('Input a number!');
var n = number;
function getList() {
for (var n = 1; n <= 17; n++) {
if (n % 3 == 0 || n % 5 == 0)
console.log (n);
}
}
console.log(getList());
console.log((n*(n+1))/2);
//equation for summation: (n*(n+1))/2
我试图将可被3或5整除的数字的总和返回到17。到目前为止,它已经半工作了;它列出了所有数字,但我找不到返还总和的方法。
我有求和的等式,但我无法找到一种方法将它放入其中以便它起作用。如何获得引用列表而不是引用输入数字的等式?
答案应该是60.任何线索?谢谢!
答案 0 :(得分:1)
var sum = 0;
for (var n = 1; n <= 17; n++) {
if (n % 3 === 0 || n % 5 === 0)
sum += n;
}
console.log(sum);
&#13;
答案 1 :(得分:1)
使用变量添加数字并在for循环后返回。
下面是exapmle。
function getList() {
var sum = 0;
for (var n = 1; n <= 17; n++) {
if (n % 3 == 0 || n % 5 == 0) {
sum += n;
}
}
return sum;
}
console.log(getList());
答案 2 :(得分:0)
如果你想要一个等式:)
function sumOfNumbersDivisibleBy3Or5(n) {
const by3 = Math.floor(n/3),
by5 = Math.floor(n/5),
by3And5 = Math.floor(n/3/5);
return 3*by3*(by3+1)/2 + 5*by5*(by5 + 1)/2 - 3*5*by3And5*(by3And5 + 1)/2
}
console.log(sumOfNumbersDivisibleBy3Or5(17))
答案 3 :(得分:0)
两件事:
只需从getList
函数
确保您的提示输入转换为整数,否则会将其视为字符串,n*(n+1)/2
将出错
var number = parseInt(prompt('Input a number!'));
var n = number;
function getList() {
var sum = 0;
for (var n = 1; n <= 17; n++) {
if (n % 3 == 0 || n % 5 == 0) {
console.log (n);
sum += n;
}
}
return sum;
}
console.log(getList());
console.log(n, (n*(n+1))/2);
答案 4 :(得分:0)
var number = prompt('Input a number!');
function getList() {
var sum = 0;
for (var n = 1; n <= number; n++) {
if (n % 3 == 0 || n % 5 == 0)
sum+=n;
}
return sum;
}
console.log(getList());
它将返回1和输入数字
之间可被3或5整除的所有数字的总和