dde272c4b8
i18n - Build Validation / Validate i18n Builds (24) (push) Has been cancelled
CI - Node.js / Lint (24) (push) Has been cancelled
CI - Node.js / Build (24) (push) Has been cancelled
CI - Node.js / Test (24) (push) Has been cancelled
CI - Node.js / Test - Upcoming Changes (24) (push) Has been cancelled
CI - Node.js / Test - i18n (italian, 24) (push) Has been cancelled
CI - Node.js / Test - i18n (portuguese, 24) (push) Has been cancelled
CD - Docker - GHCR Images / Build and Push Images (push) Has been cancelled
1.4 KiB
1.4 KiB
id, title, challengeType, dashedName
| id | title | challengeType | dashedName |
|---|---|---|---|
| 698a1a73ade5ac0e19180fa8 | Challenge 205: Perfect Cube Count | 28 | challenge-205 |
--description--
Given two integers, determine how many perfect cubes exist in the range between and including the two numbers.
- The lower number is not guaranteed to be the first argument.
- A number is a perfect cube if there exists an integer (
n) wheren * n * n = number. For example, 27 is a perfect cube because3 * 3 * 3 = 27.
--hints--
countPerfectCubes(3, 30) should return 2.
assert.equal(countPerfectCubes(3, 30), 2);
countPerfectCubes(1, 30) should return 3.
assert.equal(countPerfectCubes(1, 30), 3);
countPerfectCubes(30, 0) should return 4.
assert.equal(countPerfectCubes(30, 0), 4);
countPerfectCubes(-64, 64) should return 9.
assert.equal(countPerfectCubes(-64, 64), 9);
countPerfectCubes(9214, -8127) should return 41.
assert.equal(countPerfectCubes(9214, -8127), 41);
--seed--
--seed-contents--
function countPerfectCubes(a, b) {
return a;
}
--solutions--
function countPerfectCubes(a, b) {
const start = Math.min(a, b);
const end = Math.max(a, b);
let count = 0;
let n = 0;
while (n ** 3 <= end) {
if (n ** 3 >= start) count++;
n++;
}
n = -1;
while (n ** 3 >= start) {
if (n ** 3 <= end) count++;
n--;
}
return count;
}