--- id: 5 localeTitle: 5900f37d1000cf542c50fe8f challengeType: 5 title: 'Problem 16: Power digit sum' --- ## Description
2 15 = 32768 y la suma de sus dígitos es 3 + 2 + 7 + 6 + 8 = 26. ¿Cuál es la suma de los dígitos del exponent número 2?
## Instructions
## Tests
```yml tests: - text: powerDigitSum(15) debe devolver 26. testString: 'assert.strictEqual(powerDigitSum(15), 26, "powerDigitSum(15) should return 26.");' - text: powerDigitSum(128) debe devolver 166. testString: 'assert.strictEqual(powerDigitSum(128), 166, "powerDigitSum(128) should return 166.");' - text: powerDigitSum(1000) debe devolver 1366. testString: 'assert.strictEqual(powerDigitSum(1000), 1366, "powerDigitSum(1000) should return 1366.");' ```
## Challenge Seed
```js function powerDigitSum(exponent) { // Good luck! return true; } powerDigitSum(15); ```
## Solution
```js function powerDigitSum(exponent) { const bigNum = [1]; let sum = 0; for (let i = 1; i <= exponent; i++) { let count = bigNum.length + 1; let overflow = 0; for (let j = 0; j < count; j++) { let digit = bigNum[j] || 0; digit = 2 * digit + overflow; if (digit > 9) { digit -= 10; overflow = 1; } else { overflow = 0; } bigNum[j] = digit; } } bigNum.forEach(function(num) { return sum += num; }); return sum; } ```