合計がPythonで与えられる少数の数の積を見つけるプログラム
数nがあり、それらの合計がnに等しくなるように、2つ以上の数を見つける必要があり、これらの数の積が最大化されると、積を見つける必要があります。
したがって、入力がn =12の場合、出力は81になり、3 + 3 + 3 + 3=12および3*3 * 3 * 3=81となります。
これを解決するには、次の手順に従います-
-
関数dp()を定義します。これにはn
かかります -
nが0と同じ場合、
-
1を返す
-
-
ans:=0
-
1からn+1の範囲のiの場合、実行
-
ans:=ansの最大値と(i * dp(n − i))
-
-
ansを返す
-
メインの方法から、次のようにします-
-
dp(n)を返す
理解を深めるために、次の実装を見てみましょう-
例
class Solution: def solve(self, n): def dp(n): if n == 0: return 1 ans = 0 for i in range(1, n + 1): ans = max(ans, i * dp(n - i)) return ans return dp(n) ob1 = Solution() print(ob1.solve(12))
入力
12
出力
81
-
リストの累積合計を見つけるPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −リストが与えられたので、累積合計でリストを作成する必要があります。 次に、以下の実装のソリューションを見てみましょう- 例 # cumulative sum def Cumulative(l): new = [] cumsum = 0 for element in l: cumsum += element new.append(cumsum) &
-
配列の合計を見つけるPythonプログラム
この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 入力として配列が与えられた場合、与えられた配列の合計を計算する必要があります。 ここでは、ブルートフォースアプローチに従うことができます。つまり、リストをトラバースし、各要素を空の合計変数に追加します。最後に、合計の値を表示します。 以下で説明するように、組み込みの合計関数を使用して別のアプローチを実行することもできます。 例 # main arr = [1,2,3,4,5] ans = sum(arr,n) print ('Sum of the array is '