gpt4 book ai didi

javascript - 数字javascript的数字总和

转载 作者:可可西里 更新时间:2023-11-01 02:31:35 25 4
gpt4 key购买 nike

我看到了很多关于这个主题的其他帖子,但没有一个是关于 javascript 的。这是我的代码。

var theNumber = function digitAdd (base, exponent) {
var number = 1;
for (i=0; i < exponent; i++) {
var number = base * number;
}
return number
}


function find(theNumber) {
var sum=0;
parseInt(theNumber);
while(theNumber>0)
{
sum=sum+theNumber%10;
theNumber=Math.floor(theNumber/10);
}
document.writeln("Sum of digits "+sum);
}

find(theNumber (2, 50));

我得到了正确的答案,我只是没有完全理解第二个函数,即 while 语句。任何帮助将不胜感激。谢谢!

最佳答案

第二个函数使用模运算符提取最后一位:

  1236 % 10
= 1236 - 10 * floor(1236 / 10)
= 1236 - 1230
= 6

提取最后一位数字时,从数字中减去它:

  1236 - 6
= 1230

然后数字除以10:

  1230 / 10
= 123

每次重复此循环时,最后一位数字被 chop 并添加到总和中。

如果左侧小于右侧(任何 1 位数字都会发生这种情况),即循环中断时,模运算符将返回单个数字:

  1 % 10
= 1

这是将前导数字添加到总数中的方式。


一个较少数字的选择是这样的:

function sumDigits(number) {
var str = number.toString();
var sum = 0;

for (var i = 0; i < str.length; i++) {
sum += parseInt(str.charAt(i), 10);
}

return sum;
}

它按字面意思执行您正在尝试执行的操作,即遍历数字的数字(通过将其转换为字符串)。

关于javascript - 数字javascript的数字总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9138064/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com