Pythonで特定の配列のすべてのサブ配列の合計の2乗の合計の合計を見つけるプログラム
リストAがあるとします。n個の要素を持つリストlには(2n-1)個の空でないサブリストがあることがわかっているので、Aのすべての空でないサブリストを取得しました。次に、サブリストごとに、sublist_sum(要素の合計とS 1 で表す)を計算します。 、S 2 、S 3 、...、S (2N-1) )。 P =2 S1 となるような特別な合計Pがあります。 + 2 S2 +2 S3 .... + 2 S(2N-1) 。 Pを見つける必要があります。Pが大きすぎる場合は、P mod(10 ^ 9 + 7)を返します。
したがって、入力がA =[2,2,3]の場合、出力は次のようになります。サブセットは
- {2}したがって、2 ^ 2 =4
- {2}したがって、2 ^ 2 =4
- {3}したがって2^3 =8
- {2,2}なので、2 ^ 4 =16
- {2,3}なので、2 ^ 5 =32
- {2,3}なので、2 ^ 5 =32
- {2,2,3}なので、2 ^ 7 =128
合計は4+4 + 8 + 16 + 32 + 32 + 128 =224
これを解決するには、次の手順に従います-
- ans:=1
- m:=10 ^ 9 + 7
- Aの各elについて、
- ans:=ans *(1 +(2 ^ el mod m))
- ans:=ans mod m
- return(m + ans-1)mod m
例
理解を深めるために、次の実装を見てみましょう-
def solve(A): ans=1 m=10**9+7 for el in A: ans *= (1+pow(2,el,m)) ans %= m return (m+ans-1) % m A = [2,2,3] print(solve(A))
入力
[2,2,3]
出力
224
-
いいえが2の累乗であるかどうかを調べるPythonプログラム
この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 数nが与えられた場合、与えられた数が2の累乗であるかどうかを確認する必要があります。 アプローチ 入力数を2で割り続けます。つまり、=n/2を繰り返します。 各反復で、n%2がゼロ以外になり、nが1でない場合、nは2の累乗ではないことを確認します。 nが1になると、2の累乗になります。 以下の実装を見てみましょう- 例 def isPowerOfTwo(n): if (n == 0): retur
-
配列の合計を見つけるPythonプログラム
この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 入力として配列が与えられた場合、与えられた配列の合計を計算する必要があります。 ここでは、ブルートフォースアプローチに従うことができます。つまり、リストをトラバースし、各要素を空の合計変数に追加します。最後に、合計の値を表示します。 以下で説明するように、組み込みの合計関数を使用して別のアプローチを実行することもできます。 例 # main arr = [1,2,3,4,5] ans = sum(arr,n) print ('Sum of the array is '