Files
freeCodeCamp/curriculum/challenges/english/08-coding-interview-prep/project-euler/problem-27-quadratic-primes.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

2.1 KiB
Raw Blame History

id, challengeType, title, forumTopicId
id challengeType title forumTopicId
5900f3871000cf542c50fe9a 5 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$

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