Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com> Co-authored-by: Kristofer Koishigawa <scissorsneedfoodtoo@gmail.com> Co-authored-by: Beau Carnes <beaucarnes@gmail.com>
2.1 KiB
2.1 KiB
id, challengeType, isHidden, title, forumTopicId
id | challengeType | isHidden | title | forumTopicId |
---|---|---|---|---|
5900f3871000cf542c50fe9a | 5 | false | Problem 27: Quadratic primes | 301919 |
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$
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
.
Instructions
Tests
tests:
- text: <code>quadraticPrimes(200)</code> should return a number.
testString: assert(typeof quadraticPrimes(200) === 'number');
- text: <code>quadraticPrimes(200)</code> should return -4925.
testString: assert(quadraticPrimes(200) == -4925);
- text: <code>quadraticPrimes(500)</code> should return -18901.
testString: assert(quadraticPrimes(500) == -18901);
- text: <code>quadraticPrimes(800)</code> should return -43835.
testString: assert(quadraticPrimes(800) == -43835);
- text: <code>quadraticPrimes(1000)</code> should return -59231.
testString: assert(quadraticPrimes(1000) == -59231);
Challenge Seed
function quadraticPrimes(range) {
// Good luck!
return range;
}
quadraticPrimes(1000);
Solution
// solution required