55 lines
1.5 KiB
Markdown
55 lines
1.5 KiB
Markdown
|
---
|
|||
|
id: 5900f4231000cf542c50ff36
|
|||
|
title: '問題 183: 分割された数の最大積'
|
|||
|
challengeType: 5
|
|||
|
forumTopicId: 301819
|
|||
|
dashedName: problem-183-maximum-product-of-parts
|
|||
|
---
|
|||
|
|
|||
|
# --description--
|
|||
|
|
|||
|
$N$ を正の整数とし、$N$ を $k$ 個に等分します。$r = \frac{N}{k}$ とすると、$N = r + \cdots + r$ です。
|
|||
|
|
|||
|
分割された各部の積を $P$ とすると、$P = r × r × \cdots × r = r^k$ となります。
|
|||
|
|
|||
|
例えば、11 を 5 等分すると 11 = 2.2 + 2.2 + 2.2 + 2.2 + 2.2 なので、$P = {2.2}^5 = 51.53632$ です。
|
|||
|
|
|||
|
与えられた任意の値 $N$ について、$M(N) = P_{max}$ と定義します。
|
|||
|
|
|||
|
$N = 11$ のときの最大値を求めるには 11 を 4 等分し、$P_{max} = {(\frac{11}{4})}^4$ を導きます。つまり、$M(11) = \frac{14641}{256} = 57.9140625$ であり、これは有限小数です。
|
|||
|
|
|||
|
しかし $N = 8 のときは、最大値を求めるには 3 等分します。$M(8) = \frac{512}{27}$ となり、これは無限小数です。
|
|||
|
|
|||
|
$M(N) が無限小数であれば $D(N)=N$ とし、$M(N) が有限小数であれば $D(N)=-N とします。
|
|||
|
|
|||
|
例えば、$5 ≤ N ≤ 100$ のとき、$\sum D(N)$ は 2438 です。
|
|||
|
|
|||
|
$5 ≤ N ≤ 10000$ のとき、$\sum D(N)$ を求めなさい。
|
|||
|
|
|||
|
# --hints--
|
|||
|
|
|||
|
`maximumProductOfParts()` は `48861552` を返す必要があります。
|
|||
|
|
|||
|
```js
|
|||
|
assert.strictEqual(maximumProductOfParts(), 48861552);
|
|||
|
```
|
|||
|
|
|||
|
# --seed--
|
|||
|
|
|||
|
## --seed-contents--
|
|||
|
|
|||
|
```js
|
|||
|
function maximumProductOfParts() {
|
|||
|
|
|||
|
return true;
|
|||
|
}
|
|||
|
|
|||
|
maximumProductOfParts();
|
|||
|
```
|
|||
|
|
|||
|
# --solutions--
|
|||
|
|
|||
|
```js
|
|||
|
// solution required
|
|||
|
```
|