freeCodeCamp/curriculum/challenges/japanese/10-coding-interview-prep/project-euler/problem-183-maximum-product...

55 lines
1.5 KiB
Markdown
Raw Normal View History

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