Files
freeCodeCamp/curriculum/challenges/english/08-coding-interview-prep/project-euler/problem-27-quadratic-primes.english.md
Valeriy 79d9012432 fix(curriculum): quotes in tests (#18828)
* fix(curriculum): tests quotes

* fix(curriculum): fill seed-teardown

* fix(curriculum): fix tests and remove unneeded seed-teardown
2018-10-20 23:32:47 +05:30

70 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
id: 5900f3871000cf542c50fe9a
challengeType: 5
title: 'Problem 27: Quadratic primes'
---
## Description
<section id='description'>
Euler discovered the remarkable quadratic formula:
$n^2 + n + 41$
It turns out that the formula will produce 40 primes for the consecutive integer values $0 \le n \le 39$. However, when $n = 40, 40^2 + 40 + 41 = 40(40 + 1) + 41$ is divisible by 41, and certainly when $n = 41, 41^2 + 41 + 41$ is clearly divisible by 41.
The incredible formula $n^2 - 79n + 1601$ was discovered, which produces 80 primes for the consecutive values $0 \le n \le 79$. The product of the coefficients, 79 and 1601, is 126479.
Considering quadratics of the form:
$n^2 + an + b$, where $|a| < range$ and $|b| \le range$where $|n|$ is the modulus/absolute value of $n$e.g. $|11| = 11$ and $|-4| = 4$
Find the product of the coefficients, $a$ and $b$, for the quadratic expression that produces the maximum number of primes for consecutive values of $n$, starting with $n = 0$.
</section>
## Instructions
<section id='instructions'>
</section>
## Tests
<section id='tests'>
```yml
tests:
- text: <code>quadraticPrimes(200)</code> should return -4925.
testString: assert(quadraticPrimes(200) == -4925, '<code>quadraticPrimes(200)</code> should return -4925.');
- text: <code>quadraticPrimes(500)</code> should return -18901.
testString: assert(quadraticPrimes(500) == -18901, '<code>quadraticPrimes(500)</code> should return -18901.');
- text: <code>quadraticPrimes(800)</code> should return -43835.
testString: assert(quadraticPrimes(800) == -43835, '<code>quadraticPrimes(800)</code> should return -43835.');
- text: <code>quadraticPrimes(1000)</code> should return -59231.
testString: assert(quadraticPrimes(1000) == -59231, '<code>quadraticPrimes(1000)</code> should return -59231.');
```
</section>
## Challenge Seed
<section id='challengeSeed'>
<div id='js-seed'>
```js
function quadraticPrimes(range) {
// Good luck!
return range;
}
quadraticPrimes(1000);
```
</div>
</section>
## Solution
<section id='solution'>
```js
// solution required
```
</section>