| 
									
										
										
										
											2022-01-21 01:00:18 +05:30
										 |  |  | --- | 
					
						
							|  |  |  | id: 5900f53d1000cf542c51004f | 
					
						
							| 
									
										
										
										
											2022-01-22 20:38:20 +05:30
										 |  |  | title: '問題 464: メビウス関数と区間' | 
					
						
							| 
									
										
										
										
											2022-01-21 01:00:18 +05:30
										 |  |  | challengeType: 5 | 
					
						
							|  |  |  | forumTopicId: 302139 | 
					
						
							|  |  |  | dashedName: problem-464-mbius-function-and-intervals | 
					
						
							|  |  |  | --- | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # --description--
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-01-22 20:38:20 +05:30
										 |  |  | $μ(n)$ で表されるメビウス関数は次のように定義されます。 | 
					
						
							| 
									
										
										
										
											2022-01-21 01:00:18 +05:30
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-01-22 20:38:20 +05:30
										 |  |  | - $n$ が無平方数のとき、$μ(n) = (-1)^{ω(n)}$ (ここで、$ω(n)$ は $n$ の相異なる素因数) | 
					
						
							|  |  |  | - $n$ が無平方数でないとき、$μ(n) = 0$ | 
					
						
							| 
									
										
										
										
											2022-01-21 01:00:18 +05:30
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-01-22 20:38:20 +05:30
										 |  |  | 区間 $[a, b]$ において $μ(n) = 1$ となる整数 $n$ の数を、$P(a, b)$ とします。 | 
					
						
							| 
									
										
										
										
											2022-01-21 01:00:18 +05:30
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-01-22 20:38:20 +05:30
										 |  |  | 区間 $[a, b]$ において $μ(n) = -1$ となる整数 $n$ の数を、$N(a, b)$ とします。 | 
					
						
							| 
									
										
										
										
											2022-01-21 01:00:18 +05:30
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-01-22 20:38:20 +05:30
										 |  |  | 例えば、$P(2, 10) = 2$, $N(2, 10) = 4$ です。 | 
					
						
							| 
									
										
										
										
											2022-01-21 01:00:18 +05:30
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-01-22 20:38:20 +05:30
										 |  |  | 次の条件をすべて満たす整数の対 $(a, b)$ を $C(n)$ とします。 | 
					
						
							| 
									
										
										
										
											2022-01-21 01:00:18 +05:30
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-01-22 20:38:20 +05:30
										 |  |  | - $1 ≤ a ≤ b ≤ n$ | 
					
						
							|  |  |  | - $99 \times N(a, b) ≤ 100 \times P(a, b)$ | 
					
						
							|  |  |  | - $99 \times P(a, b) ≤ 100 \times N(a, b)$ | 
					
						
							| 
									
										
										
										
											2022-01-21 01:00:18 +05:30
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-01-22 20:38:20 +05:30
										 |  |  | 例えば、$C(10) = 13$, $C(500) = 16\\,676$, $C(10\\,000) = 20\\,155\\,319$ です。 | 
					
						
							| 
									
										
										
										
											2022-01-21 01:00:18 +05:30
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-01-22 20:38:20 +05:30
										 |  |  | $C(20\\,000\\,000)$ を求めなさい。 | 
					
						
							| 
									
										
										
										
											2022-01-21 01:00:18 +05:30
										 |  |  | 
 | 
					
						
							|  |  |  | # --hints--
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-01-22 20:38:20 +05:30
										 |  |  | `mobiusFunctionAndIntervals()` は `198775297232878` を返す必要があります。 | 
					
						
							| 
									
										
										
										
											2022-01-21 01:00:18 +05:30
										 |  |  | 
 | 
					
						
							|  |  |  | ```js | 
					
						
							|  |  |  | assert.strictEqual(mobiusFunctionAndIntervals(), 198775297232878); | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # --seed--
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## --seed-contents--
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ```js | 
					
						
							|  |  |  | function mobiusFunctionAndIntervals() { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   return true; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | mobiusFunctionAndIntervals(); | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # --solutions--
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ```js | 
					
						
							|  |  |  | // solution required | 
					
						
							|  |  |  | ``` |