разбить целое на части - PullRequest
1 голос
/ 16 марта 2011

Я пытаюсь добавить все цифры в целочисленное значение, пока не получу значение ниже 9, используя Javascript.

для примера, если у меня 198, я хочу сложить их вместе как 1 +9 + 8 = 18, а так как 18 больше 9, добавьте 1 +8 снова = 9.

Ответы [ 3 ]

3 голосов
/ 16 марта 2011

Вместо того, чтобы давать вам полный код, я просто объясню, как это сделать.

Вы можете выполнять математические вычисления по модулю на число% 10, а затем делить int на 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 голос
/ 16 марта 2011
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;
}
0 голосов
/ 16 марта 2011

Вот две подсказки: (i % 10) дает наименее значимую десятичную цифру i, а i /= 10 удаляет наименее значимую цифру из i.Остальное оставлено в качестве упражнения для читателя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...