1.5 KiB
1.5 KiB
id | title | challengeType | forumTopicId | dashedName |
---|---|---|---|---|
5a23c84252665b21eecc803f | Soma dos dígitos de um inteiro | 5 | 302331 | sum-digits-of-an-integer |
--description--
Escreva uma função que receba uma string como parâmetro. Essa string representa um número que pode estar em qualquer base (inferior a 37) e que retorne a soma de seus dígitos.
- 110 soma 1
- 123410 soma 10
- fe16 soma 29
- f0e16 soma 29
--hints--
sumDigits
deve ser uma função.
assert(typeof sumDigits == 'function');
sumDigits("1")
deve retornar um número.
assert(typeof sumDigits('1') == 'number');
sumDigits("1")
deve retornar 1
.
assert.equal(sumDigits('1'), 1);
sumDigits("12345")
deve retornar 15
.
assert.equal(sumDigits('12345'), 15);
sumDigits("254")
deve retornar 11
.
assert.equal(sumDigits('254'), 11);
sumDigits("fe")
deve retornar 29
.
assert.equal(sumDigits('fe'), 29);
sumDigits("f0e")
deve retornar 29
.
assert.equal(sumDigits('f0e'), 29);
sumDigits("999ABCXYZ")
deve retornar 162
.
assert.equal(sumDigits('999ABCXYZ'), 162);
--seed--
--seed-contents--
function sumDigits(n) {
}
--solutions--
function sumDigits(n) {
n += '';
for (var s = 0, i = 0, e = n.length; i < e; i += 1)
s += parseInt(n.charAt(i), 36);
return s;
}