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
 | ||
| ```
 |