繁体   English   中英

找到数字100的总和! 在JavaScript中

[英]Find the sum of the digits in the number 100! in javascript

我得到的答案是659,但答案错误,请检查。 这是我的代码

var fact=1;

for(var i=1;i<=100;i++){

fact  = fact*i;

}

var sum = 0;

while (fact > 0) {

sum += fact % 10;

fact = Math.floor(fact / 10);
}
console.log(sum);

length的定义中存在语法错误var关键字应该放在它的前面,而不是后面,并且在sum的计算中也存在类似的问题。

无论如何,我认为将数字转换为字符串是很难的方法。 您可以使用%运算符获取最后一位数字,然后将数字除以10(不要忘了累加!),直到完成所有数字为止:

var sum = 0;
while (fact > 0) {
    sum += fact % 10;
    fact = Math.floor(fact / 10);
}

凉。 您已经编写了非常明智的代码。 但是有两件事需要考虑。 一种是100的巨大尺寸! 如果您进入控制台并输入一些代码,则会看到以下内容:

> fact=1
1
> for(i=1;i<=100;i++){fact *= i;}
9.33262154439441e+157

Cri 10至157。查找js可以显示的最大整数。 小得多! 因此,如果这是编程任务,则必须变得更加微妙。

接下来,如果您获得全部158位数字,并且想要使用策略添加它们,则可能需要将获得的字符串(毕竟,子字符串是字符串)转换为Number。

但是,实际上,问题是,您可以确定数字的总和而不计算数字吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM