Files
freeCodeCamp/curriculum/challenges/english/08-coding-interview-prep/project-euler/problem-86-cuboid-route.english.md
Kristofer Koishigawa 6cfd0fc503 fix: improve Project Euler descriptions, challenge seeds, and test cases (#38016)
* fix: improve Project Euler descriptions and test case

Improve formatting of Project Euler test descriptions. Also add poker hands array and new test case for problem 54

* feat: add typeof tests and gave functions proper names for first 100 challenges

* fix: continue fixing test descriptions and adding "before test" sections

* fix: address review comments

* fix: adjust grids in 18 and 67 and fix some text that reference files rather than the given arrays

* fix: implement bug fixes and improvements from review

* fix: remove console.log statements from seed and solution
2020-02-28 06:39:47 -06:00

1.8 KiB

id, challengeType, title, forumTopicId
id challengeType title forumTopicId
5900f3c31000cf542c50fed5 5 Problem 86: Cuboid route 302200

Description

A spider, S, sits in one corner of a cuboid room, measuring 6 by 5 by 3, and a fly, F, sits in the opposite corner. By travelling on the surfaces of the room the shortest "straight line" distance from S to F is 10 and the path is shown on the diagram.

a diagram of a spider and fly's path from one corner of a cuboid room to the opposite corner

However, there are up to three "shortest" path candidates for any given cuboid and the shortest route doesn't always have integer length.

It can be shown that there are exactly 2060 distinct cuboids, ignoring rotations, with integer dimensions, up to a maximum size of M by M by M, for which the shortest route has integer length when M = 100. This is the least value of M for which the number of solutions first exceeds two thousand; the number of solutions when M = 99 is 1975.

Find the least value of M such that the number of solutions first exceeds one million.

Instructions

Tests

tests:
  - text: <code>cuboidRoute()</code> should return a number.
    testString: assert(typeof cuboidRoute() === 'number');
  - text: <code>cuboidRoute()</code> should return 1818.
    testString: assert.strictEqual(cuboidRoute(), 1818);

Challenge Seed

function cuboidRoute() {
  // Good luck!
  return true;
}

cuboidRoute();

Solution

// solution required