我最近遇到过一个网站,它有解决使用代码的难题。我遇到了问题(对不对?)并且好坏了。这就是谜题:
如果我们列出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 loop
从0 to 1000
计算,并检查每个数字,看它是否均匀分为3
或5
。如果是,那么它被添加到resultStr
变量a.k.a.结果字符串,更多用于调试目的。然后将其添加到result
变量中,该变量包含可被3
和5
整除的所有数字的总和。然后程序打印出result
变量a.k.a.总和。只有一个问题......程序无法确定任何超过一位数的内容。当我打印出这笔钱时,我得到的就是:1。所以总和不可靠。输出为234168
。我有点像javascript的菜鸟,所以任何事情都会有所帮助!谢谢!
答案 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(","));
}