javascript - 函数和方程混淆

时间:2017-07-06 07:24:58

标签: javascript equations

 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.任何线索?谢谢!

5 个答案:

答案 0 :(得分:1)

&#13;
&#13;
var sum = 0;
for (var n = 1; n <= 17; n++) {
   if (n % 3 === 0 || n % 5 === 0) 
     sum += n;
}

console.log(sum);
&#13;
&#13;
&#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)

两件事:

  1. 只需从getList函数

  2. 中返回总和即可
  3. 确保您的提示输入转换为整数,否则会将其视为字符串,n*(n+1)/2将出错

  4. 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整除的所有数字的总和