1.7 KiB
1.7 KiB
id, title, challengeType, forumTopicId, dashedName
id | title | challengeType | forumTopicId | dashedName |
---|---|---|---|---|
5a23c84252665b21eecc803f | 整数の数字和 | 5 | 302331 | sum-digits-of-an-integer |
--description--
パラメータとして文字列を取る関数を記述してください。 この文字列は任意の基数 (37未満) での数値を表し、その桁の合計を返します。
- 110 の合計は 1
- 123410 の合計は 10
- fe16 の合計は 29
- f0e16 の合計は 29
--hints--
sumDigits
は関数とします。
assert(typeof sumDigits == 'function');
sumDigits("1")
は数値を返す必要があります。
assert(typeof sumDigits('1') == 'number');
sumDigits("1")
は 1
を返す必要があります。
assert.equal(sumDigits('1'), 1);
sumDigits("12345")
は 15
を返す必要があります。
assert.equal(sumDigits('12345'), 15);
sumDigits("254")
は 11
を返す必要があります。
assert.equal(sumDigits('254'), 11);
sumDigits("fe")
は 29
を返す必要があります。
assert.equal(sumDigits('fe'), 29);
sumDigits("f0e")
は 29
を返す必要があります。
assert.equal(sumDigits('f0e'), 29);
sumDigits("999ABCXYZ")
は 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;
}