2016-09-29 6 views
0

var num = 123456 Как я могу найти сумму своих цифр (которая в этом случае равна 21) без использования массивов?Сумма цифр числа без массивов

+0

Является ли это домашнее задание вопрос? – TylerY86

+0

Почему _without использование arrays_? – Rayon

+0

@ TylerY86 его не дублирует, другой вопрос не упоминает о массивах. Я уверен, что другие люди захотят узнать, возможно ли это сделать, без использования массивов. –

ответ

1

var num = 123456, sum = 0; 
 
while (num > 0) { sum += (num % 10)|0; num /= 10; } 
 
document.write(sum);

+0

Предупреждение? Как странно. – nnnnnn

+0

Да, я могу сделать лучше. Какие-либо предложения? Менее странно? – TylerY86

+0

Если вы используете 'console.log()', результат появится прямо в окне вывода фрагмента (а также в фактической консоли разработчика). Кстати, «причудливый» означает «очаровательно» необычно или старомодно »... – nnnnnn

0

Надеется, что это помогает.!

console.log(sumofdigits(123456)); 
 

 
function sumofdigits(number) { 
 
    var sum = 0; 
 
    while (number > 0) { 
 
     sum += number % 10; 
 
     number = Math.floor(number/10); 
 
    } 
 
    return sum; 
 
}
Добавлено console.log(), как было предложено @nnnnnn

+0

Ваша функция возвращена 23.333333333333623. – TylerY86

+0

* Хорошая копия без кредита. * Lol Вы могли бы по крайней мере использовать другой способ сделать это int. Во всяком случае, это общий обман вопроса. Наверное, чья-то домашняя работа. :) – TylerY86

+0

Приятное использование декларации о неписании, это делается недостаточно часто. – TylerY86

Смежные вопросы