freeCodeCamp/curriculum/challenges/english/08-coding-interview-prep/project-euler/problem-27-quadratic-primes...

70 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
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>