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

1.5 KiB
Raw Blame History

id title challengeType forumTopicId dashedName
5900f4231000cf542c50ff36 問題 183: 分割された数の最大積 1 301819 problem-183-maximum-product-of-parts

--description--

N を正の整数とし、Nk 個に等分します。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 を返す必要があります。

assert.strictEqual(maximumProductOfParts(), 48861552);

--seed--

--seed-contents--

function maximumProductOfParts() {

  return true;
}

maximumProductOfParts();

--solutions--

// solution required