diff --git a/challenges/08-coding-interview-questions-and-take-home-assignments/project-euler-problems.json b/challenges/08-coding-interview-questions-and-take-home-assignments/project-euler-problems.json
index 7b8647be1f..7011101a00 100644
--- a/challenges/08-coding-interview-questions-and-take-home-assignments/project-euler-problems.json
+++ b/challenges/08-coding-interview-questions-and-take-home-assignments/project-euler-problems.json
@@ -1687,21 +1687,24 @@
"type": "bonfire",
"title": "Problem 48: Self powers",
"tests": [
- "assert.strictEqual(euler48(), 9110846700, 'message: euler48()
should return 9110846700.');"
+ "assert.strictEqual(selfPowers(10, 3), 317, 'message: selfPowers(10, 3)
should return 317.');",
+ "assert.strictEqual(selfPowers(150, 6), 29045, 'message: selfPowers(150, 6)
should return 29045.');",
+ "assert.strictEqual(selfPowers(673, 7), 2473989, 'message: selfPowers(673, 7)
should return 2473989.');",
+ "assert.strictEqual(selfPowers(1000, 10), 9110846700, 'message: selfPowers(1000, 10)
should return 9110846700.');"
],
- "solutions": [],
+ "solutions": ["function selfPowers(power, lastDigits) {\n let sum = 0;\n const modulo = Math.pow(10, lastDigits);\n\n for (let i = 1; i <= power; i++) {\n let temp = i;\n for (let j = 1; j < i; j++) {\n temp *= i;\n temp %= modulo;\n }\n\n sum += temp;\n sum %= modulo;\n }\n\n return sum;\n}"],
"translations": {},
"challengeSeed": [
- "function euler48() {",
+ "function selfPowers(power, lastDigits) {",
" // Good luck!",
" return true;",
"}",
"",
- "euler48();"
+ "selfPowers(1000, 10);"
],
"description": [
- "The series, 11 + 22 + 33 + ... + 1010 = 10405071317.",
- "Find the last ten digits of the series, 11 + 22 + 33 + ... + 10001000."
+ "The series, 11 + 22 + 33 + ... + 1010 = 10405071317.",
+ "Find the last ten digits of the series, 11 + 22 + 33 + ... + 10001000."
]
},
{