Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptで製品を最大化するための整数の分割


問題

最初で唯一の引数として整数numを受け取るJavaScript関数を作成する必要があります。

私たちの関数は、これらの整数を少なくとも2つのチャンクに分割する必要があります。これを追加すると、合計整数numが得られ、乗算すると、可能な最大の積が得られます。最後に、関数はこの可能な最大の積を返す必要があります。

たとえば、関数への入力が-

の場合
const num = 10;

その場合、出力は-

になります。
const output = 36;

出力の説明:

10は3+3 + 4に分割できるため、乗算すると36になります。

このためのコードは-

になります
const num = 10;
const breakInt = (num = 2) => {
   const dp = new Array(num + 1).fill(0);
   dp[0] = 0;
   dp[1] = 1;
   for(let i = 2; i <= num; i++){
      for(let j = 1; 2*j <= i; j++){
         dp[i] = Math.max(dp[i], Math.max(j, dp[j]) * Math.max(i-j,
         dp[i-j]) );
      };
   };
   return dp[num];
};
console.log(breakInt(num));

出力

そして、コンソールの出力は-

になります
36

  1. JavaScriptのNumber.toExponential()関数

    NumberオブジェクトのtoExponential()関数は、指数表記で数値オブジェクトを表す文字列を返します。 構文 その構文は次のとおりです var num=77.1234; num.toExponential('0xF', 16); 例 <html> <head>    <title>JavaScript Example</title> </head> <body>    <script type="text/javascript"

  2. 関数型プログラミングJavaScriptのループを壊します。

    以下は関数型プログラミングのループを壊すためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style>   &nb