64 lines
1.4 KiB
Markdown
64 lines
1.4 KiB
Markdown
|
---
|
|||
|
id: 5900f3ca1000cf542c50fedc
|
|||
|
challengeType: 5
|
|||
|
title: 'Problem 93: Arithmetic expressions'
|
|||
|
---
|
|||
|
|
|||
|
## Description
|
|||
|
<section id='description'>
|
|||
|
By using each of the digits from the set, {1, 2, 3, 4}, exactly once, and making use of the four arithmetic operations (+, −, *, /) and brackets/parentheses, it is possible to form different positive integer targets.
|
|||
|
For example,
|
|||
|
8 = (4 * (1 + 3)) / 2
|
|||
|
14 = 4 * (3 + 1 / 2)
|
|||
|
19 = 4 * (2 + 3) − 1
|
|||
|
36 = 3 * 4 * (2 + 1)
|
|||
|
Note that concatenations of the digits, like 12 + 34, are not allowed.
|
|||
|
Using the set, {1, 2, 3, 4}, it is possible to obtain thirty-one different target numbers of which 36 is the maximum, and each of the numbers 1 to 28 can be obtained before encountering the first non-expressible number.
|
|||
|
Find the set of four distinct digits, a < b < c < d, for which the longest set of consecutive positive integers, 1 to n, can be obtained, giving your answer as a string: abcd.
|
|||
|
</section>
|
|||
|
|
|||
|
## Instructions
|
|||
|
<section id='instructions'>
|
|||
|
|
|||
|
</section>
|
|||
|
|
|||
|
## Tests
|
|||
|
<section id='tests'>
|
|||
|
|
|||
|
```yml
|
|||
|
tests:
|
|||
|
- text: <code>euler93()</code> should return 1258.
|
|||
|
testString: 'assert.strictEqual(euler93(), 1258, ''<code>euler93()</code> should return 1258.'');'
|
|||
|
|
|||
|
```
|
|||
|
|
|||
|
</section>
|
|||
|
|
|||
|
## Challenge Seed
|
|||
|
<section id='challengeSeed'>
|
|||
|
|
|||
|
<div id='js-seed'>
|
|||
|
|
|||
|
```js
|
|||
|
function euler93() {
|
|||
|
// Good luck!
|
|||
|
return true;
|
|||
|
}
|
|||
|
|
|||
|
euler93();
|
|||
|
```
|
|||
|
|
|||
|
</div>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</section>
|
|||
|
|
|||
|
## Solution
|
|||
|
<section id='solution'>
|
|||
|
|
|||
|
```js
|
|||
|
// solution required
|
|||
|
```
|
|||
|
</section>
|