怎么解决这个?使用Javascript

时间:2014-01-16 19:47:05

标签: javascript

我最近遇到过一个网站,它有解决使用代码的难题。我遇到了问题(对不对?)并且好坏了。这就是谜题:

  

如果我们列出10以下的所有自然数是3或5的倍数,我们得到3,5,6和9.这些倍数的总和是23.

查找低于1000的3或5的所有倍数的总和。

我正在使用此代码:

var calculation = function(){

  var result = 0;
  var maxNumber = 1000;
  var resultStr = "";

  for(var i = 0; i <= maxNumber; i++){
    if(i % 3 == 0 || i % 5 == 0){
      result = result + i;
      resultStr = resultStr + i;
    }
  }
  alert("Your anwser is: " + result);
  alert("Your anwser is: " + resultStr.split(""));
}

calculation();

*编辑:我已将代码更改为此以分隔数字,但我的答案仍然相同。

var calculation = function(){

var result = 0;
var maxNumber = 1000;
var resultStr = "";

for(var i = 0; i <= maxNumber; i++){
    if(i % 3 == 0 || i % 5 == 0){
        result = result + i;
        resultStr = resultStr + "-" + i;
    }
}
alert("Your anwser is: " + result);
alert("Your anwser is: " + resultStr.split("-"));

}

计算();

说明:A有一个名为calculation的函数,它有三个变量。在函数内部有一个for loop0 to 1000计算,并检查每个数字,看它是否均匀分为35。如果是,那么它被添加到resultStr变量a.k.a.结果字符串,更多用于调试目的。然后将其添加到result变量中,该变量包含可被35整除的所有数字的总和。然后程序打印出result变量a.k.a.总和。只有一个问题......程序无法确定任何超过一位数的内容。当我打印出这笔钱时,我得到的就是:1。所以总和不可靠。输出为234168。我有点像javascript的菜鸟,所以任何事情都会有所帮助!谢谢!

3 个答案:

答案 0 :(得分:2)

问题是:

  

求出所有3或5的倍数之和 1000

强调我的。

答案 1 :(得分:0)

**

  

查找低于1000的3或5的所有倍数的总和。

**

for(var i = 0; i&lt; = maxNumber; i ++)

你需要达到1000-1!所以删除=符号。

答案 2 :(得分:0)

你应该使用for而不是&lt; = 1000来转换为&lt; 1000。

resultStr的问题是你在没有分隔符的情况下连接所有数字。修复了2个小修改

var calculation = function(){
    var result = 0;
    var maxNumber = 1000;
    var resultStr = "";

    for(var i = 0; i <= maxNumber; i++){
        if(i % 3 == 0 || i % 5 == 0){
            result = result + i;
            resultStr = resultStr + "," + i;
        }
    }
    alert("Your anwser is: " + result);
    alert("Your anwser is: " + resultStr.split(","));
}