我正在尝试添加整数值中的所有数字,直到我使用Javascript获得低于9的值。
例如,如果我有198,我想将这些加在一起,如1 + 9 + 8 = 18,并且由于18高于9,再加1 + 8 = 9。
答案 0 :(得分:3)
而不是给你完整的代码,我只会解释如何做到这一点。
您可以按数字%10进行模数学运算,然后将数字除以10(数字/ 10),直到得到0得到数字的所有数字。对各个数字求和,直到求和> 9循环重复上述过程。
修改:好的,这里是您的代码:
<script>
var num=198;
n = num;
var sum;
do {
sum = 0;
while (n>0) {
rem = (n % 10);
sum += rem;
n = (n - rem)/10;
}
n = sum;
} while(sum>9);
alert("sum is: " + sum);
</script>
答案 1 :(得分:1)
function foo(var x)
{
while(x > 9)
{
var y = 0;
while(x!=0)
{
y += x%10;
x = Math.floor(x/10);
}
x = y;
}
return x;
}
答案 2 :(得分:0)
以下是两个提示:(i % 10)
给出i
的最低有效十进制数字,而i /= 10
删除i
中的最低有效数字。其余部分留给读者练习。