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