freeCodeCamp/curriculum/challenges/portuguese/10-coding-interview-prep/rosetta-code/sum-digits-of-an-integer.md

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;
}