143 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			143 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | |||
|  | id: 5900f3e81000cf542c50fefb | |||
|  | title: '問題 124: 順序付き累乗根' | |||
|  | challengeType: 5 | |||
|  | forumTopicId: 301751 | |||
|  | dashedName: problem-124-ordered-radicals | |||
|  | --- | |||
|  | 
 | |||
|  | # --description--
 | |||
|  | 
 | |||
|  | $n$ の累乗根 $rad(n)$ は、$n$ の相異なる素因数の積です。 例えば、$504 = 2^3 × 3^2 × 7$ なので、$rad(504) = 2 × 3 × 7 = 42$ です。 | |||
|  | 
 | |||
|  | $1 ≤ n ≤ 10$ に対して $rad(n)$ を求め、それらを $rad(n)$ でソートし、累乗根の値が等しい場合は $n$ でソートすると、次のようになります。 | |||
|  | 
 | |||
|  | <div style="text-align: center;"> | |||
|  |   <table cellpadding="2" cellspacing="0" border="0" align="center"> | |||
|  |     <tbody> | |||
|  |       <tr> | |||
|  |         <td colspan="2">$未ソート$</td> | |||
|  |         <td></td> | |||
|  |         <td colspan="3">$ソート済み$</td> | |||
|  |       </tr> | |||
|  |       <tr> | |||
|  |         <td>$n$</td> | |||
|  |         <td>$rad(n)$</td> | |||
|  |         <td></td> | |||
|  |         <td>$n$</td> | |||
|  |         <td>$rad(n)$</td> | |||
|  |         <td>$k$</td> | |||
|  |       </tr> | |||
|  |       <tr> | |||
|  |         <td>1</td> | |||
|  |         <td>1</td> | |||
|  |         <td></td> | |||
|  |         <td>1</td> | |||
|  |         <td>1</td> | |||
|  |         <td>1</td> | |||
|  |       </tr> | |||
|  |       <tr> | |||
|  |         <td>2</td> | |||
|  |         <td>2</td> | |||
|  |         <td></td> | |||
|  |         <td>2</td> | |||
|  |         <td>2</td> | |||
|  |         <td>2</td> | |||
|  |       </tr> | |||
|  |       <tr> | |||
|  |         <td>3</td> | |||
|  |         <td>3</td> | |||
|  |         <td></td> | |||
|  |         <td>4</td> | |||
|  |         <td>2</td> | |||
|  |         <td>3</td> | |||
|  |       </tr> | |||
|  |       <tr> | |||
|  |         <td>4</td> | |||
|  |         <td>2</td> | |||
|  |         <td></td> | |||
|  |         <td>8</td> | |||
|  |         <td>2</td> | |||
|  |         <td>4</td> | |||
|  |       </tr> | |||
|  |       <tr> | |||
|  |         <td>5</td> | |||
|  |         <td>5</td> | |||
|  |         <td></td> | |||
|  |         <td>3</td> | |||
|  |         <td>3</td> | |||
|  |         <td>5</td> | |||
|  |       </tr> | |||
|  |       <tr> | |||
|  |         <td>6</td> | |||
|  |         <td>6</td> | |||
|  |         <td></td> | |||
|  |         <td>9</td> | |||
|  |         <td>3</td> | |||
|  |         <td>6</td> | |||
|  |       </tr> | |||
|  |       <tr> | |||
|  |         <td>7</td> | |||
|  |         <td>7</td> | |||
|  |         <td></td> | |||
|  |         <td>5</td> | |||
|  |         <td>5</td> | |||
|  |         <td>7</td> | |||
|  |       </tr> | |||
|  |       <tr> | |||
|  |         <td>8</td> | |||
|  |         <td>2</td> | |||
|  |         <td></td> | |||
|  |         <td>6</td> | |||
|  |         <td>6</td> | |||
|  |         <td>8</td> | |||
|  |       </tr> | |||
|  |       <tr> | |||
|  |         <td>9</td> | |||
|  |         <td>3</td> | |||
|  |         <td></td> | |||
|  |         <td>7</td> | |||
|  |         <td>7</td> | |||
|  |         <td>9</td> | |||
|  |       </tr> | |||
|  |       <tr> | |||
|  |         <td>10</td> | |||
|  |         <td>10</td> | |||
|  |         <td></td> | |||
|  |         <td>10</td> | |||
|  |         <td>10</td> | |||
|  |         <td>10</td> | |||
|  |       </tr> | |||
|  |     </tbody> | |||
|  |   </table> | |||
|  | </div><br> | |||
|  | 
 | |||
|  | ソート済みの $n$ 列の $k$ 番目の要素を $E(k)$ とします。例えば、$E(4) = 8$, $E(6) = 9$ です。 $1 ≤ n ≤ 100000$ のとき、$rad(n)$ をソートした場合の $E(10000)$ を求めなさい。 | |||
|  | 
 | |||
|  | # --hints--
 | |||
|  | 
 | |||
|  | `orderedRadicals()` は `21417` を返す必要があります。 | |||
|  | 
 | |||
|  | ```js | |||
|  | assert.strictEqual(orderedRadicals(), 21417); | |||
|  | ``` | |||
|  | 
 | |||
|  | # --seed--
 | |||
|  | 
 | |||
|  | ## --seed-contents--
 | |||
|  | 
 | |||
|  | ```js | |||
|  | function orderedRadicals() { | |||
|  | 
 | |||
|  |   return true; | |||
|  | } | |||
|  | 
 | |||
|  | orderedRadicals(); | |||
|  | ``` | |||
|  | 
 | |||
|  | # --solutions--
 | |||
|  | 
 | |||
|  | ```js | |||
|  | // solution required | |||
|  | ``` |