1.5 KiB
1.5 KiB
id | title | challengeType | forumTopicId | dashedName |
---|---|---|---|---|
5a23c84252665b21eecc803f | Sum digits of an integer | 5 | 302331 | sum-digits-of-an-integer |
--description--
Write a function that takes a string as a parameter. This string represents a number that can be in any base (less than 37) and return the sum of its digits.
- 110 sums to 1
- 123410 sums to 10
- fe16 sums to 29
- f0e16 sums to 29
--hints--
sumDigits
should be a function.
assert(typeof sumDigits == 'function');
sumDigits("1")
should return a number.
assert(typeof sumDigits('1') == 'number');
sumDigits("1")
should return 1
.
assert.equal(sumDigits('1'), 1);
sumDigits("12345")
should return 15
.
assert.equal(sumDigits('12345'), 15);
sumDigits("254")
should return 11
.
assert.equal(sumDigits('254'), 11);
sumDigits("fe")
should return 29
.
assert.equal(sumDigits('fe'), 29);
sumDigits("f0e")
should return 29
.
assert.equal(sumDigits('f0e'), 29);
sumDigits("999ABCXYZ")
should return 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;
}