79 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			79 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | ||
|  | id: 5900f3871000cf542c50fe9a | ||
|  | title: '問題 27: 二次素数' | ||
|  | challengeType: 5 | ||
|  | forumTopicId: 301919 | ||
|  | dashedName: problem-27-quadratic-primes | ||
|  | --- | ||
|  | 
 | ||
|  | # --description--
 | ||
|  | 
 | ||
|  | オイラーは驚くべき二次式を発見しました。 | ||
|  | 
 | ||
|  | <div style='margin-left: 4em;'>$n^2 + n + 41$</div> | ||
|  | 
 | ||
|  | この式は、連続する整数値 $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 です。 | ||
|  | 
 | ||
|  | 次の二次式を考えます。 | ||
|  | 
 | ||
|  | <div style='margin-left: 4em;'> | ||
|  |   $n^2 + an + b$ ここで、$|a| < range$ かつ $|b| \le range$<br> | ||
|  |  ここで、$|n|$ は $n$ の絶対値<br> | ||
|  |  例: $|11| = 11$, $|-4| = 4$<br> | ||
|  | </div> | ||
|  | 
 | ||
|  | $n = 0$ から始めて、連続する値 $n$ に対して素数を導いたときに素数が最多となるような、上の二次式の係数 $a$ と $b$ の積を求めなさい。 | ||
|  | 
 | ||
|  | # --hints--
 | ||
|  | 
 | ||
|  | `quadraticPrimes(200)` は数値を返す必要があります。 | ||
|  | 
 | ||
|  | ```js | ||
|  | assert(typeof quadraticPrimes(200) === 'number'); | ||
|  | ``` | ||
|  | 
 | ||
|  | `quadraticPrimes(200)` は -4925 を返す必要があります。 | ||
|  | 
 | ||
|  | ```js | ||
|  | assert(quadraticPrimes(200) == -4925); | ||
|  | ``` | ||
|  | 
 | ||
|  | `quadraticPrimes(500)` は -18901 を返す必要があります。 | ||
|  | 
 | ||
|  | ```js | ||
|  | assert(quadraticPrimes(500) == -18901); | ||
|  | ``` | ||
|  | 
 | ||
|  | `quadraticPrimes(800)` は -43835 を返す必要があります。 | ||
|  | 
 | ||
|  | ```js | ||
|  | assert(quadraticPrimes(800) == -43835); | ||
|  | ``` | ||
|  | 
 | ||
|  | `quadraticPrimes(1000)` は -59231 を返す必要があります。 | ||
|  | 
 | ||
|  | ```js | ||
|  | assert(quadraticPrimes(1000) == -59231); | ||
|  | ``` | ||
|  | 
 | ||
|  | # --seed--
 | ||
|  | 
 | ||
|  | ## --seed-contents--
 | ||
|  | 
 | ||
|  | ```js | ||
|  | function quadraticPrimes(range) { | ||
|  | 
 | ||
|  |   return range; | ||
|  | } | ||
|  | 
 | ||
|  | quadraticPrimes(1000); | ||
|  | ``` | ||
|  | 
 | ||
|  | # --solutions--
 | ||
|  | 
 | ||
|  | ```js | ||
|  | // solution required | ||
|  | ``` |