freeCodeCamp/curriculum/challenges/japanese/10-coding-interview-prep/project-euler/problem-27-quadratic-primes.md

2.0 KiB

id title challengeType forumTopicId dashedName
5900f3871000cf542c50fe9a 問題 27: 二次素数 5 301919 problem-27-quadratic-primes

--description--

オイラーは驚くべき二次式を発見しました。

$n^2 + n + 41$

この式は、連続する整数値 0 \\le n \\le 39 に対して 40 個の素数を導きます。 しかし n = 40 のとき、40^2 + 40 + 41 = 40(40 + 1) + 41 となり 41 で割り切れます。また当然ながら、n = 41 のとき、41^2 + 41 + 41 は明らかに 41 で割り切れます。

驚くべき数式 n^2 - 79n + 1601 が発見されました。これは、連続する値 0 \\le n \\le 79 に対して 80 個の素数を導きます。 係数 -79 と1601 の積は -126479 です。

次の二次式を考えます。

$n^2 + an + b$ ここで、$|a| < range$ かつ $|b| \le range$
ここで、$|n|$ は $n$ の絶対値
例: $|11| = 11$, $|-4| = 4$

n = 0 から始めて、連続する値 n に対して素数を導いたときに素数が最多となるような、上の二次式の係数 ab の積を求めなさい。

--hints--

quadraticPrimes(200) は数値を返す必要があります。

assert(typeof quadraticPrimes(200) === 'number');

quadraticPrimes(200) は -4925 を返す必要があります。

assert(quadraticPrimes(200) == -4925);

quadraticPrimes(500) は -18901 を返す必要があります。

assert(quadraticPrimes(500) == -18901);

quadraticPrimes(800) は -43835 を返す必要があります。

assert(quadraticPrimes(800) == -43835);

quadraticPrimes(1000) は -59231 を返す必要があります。

assert(quadraticPrimes(1000) == -59231);

--seed--

--seed-contents--

function quadraticPrimes(range) {

  return range;
}

quadraticPrimes(1000);

--solutions--

// solution required