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

Pythonで行と列の後ろの合計を保持する行と列の行列を見つけるプログラム


与えられた行列があると仮定します。新しい行列resを見つける必要があります。その次元は、res [i、j]の各要素=各r≤のmatrix [r、c]の要素の合計である与えられた行列と同じです。 i、およびc≤j。

したがって、入力が次のような場合

8 2
7 4

その場合、出力は次のようになります

8 10
15 21

これを解決するには、次の手順に従います-

  • 行列が空の場合、

    • リターンマトリックス

  • R:=行列の行数

  • C:=行列の列数

  • 1からR-1の範囲のrの場合、実行

    • 0からC-1の範囲のcの場合、実行

      • matrix [r、c]:=matrix [r、c] + matrix [r-1、c]

  • 0からR-1の範囲のrの場合、実行

    • 1からC-1の範囲のcの場合、実行

      • matrix [r、c]:=matrix [r、c] + matrix [r、c-1]

  • リターンマトリックス

理解を深めるために、次の実装を見てみましょう

def solve(matrix):
   if not matrix:
      return matrix

   R, C = len(matrix), len(matrix[0])
   for r in range(1, R):
         for c in range(C):
            matrix[r][c] += matrix[r - 1][c]

   for r in range(R):
      for c in range(1, C):
         matrix[r][c] += matrix[r][c - 1]

   return matrix

matrix = [
   [8, 2],
   [7, 4]
]
print(solve(matrix))

入力

[[8, 2],[7, 4]]

出力

[[8, 10], [15, 21]]

  1. 数の偶数因子の合計を見つけるためのPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します- 問題の説明 数値入力nが与えられた場合、タスクは数値の偶数因子の合計を見つけることです。 ここでは、最初にすべての奇妙な要因を排除する必要があります。 入力された数値が奇数の場合、偶数の因数はなく、直接ゼロを返します。それ以外の場合は、以下のコードのアプローチに従います。 以下は実装です- 例 import math # Returns sum of all even factors of n. def sumofFactors(n) :    # If n is odd   &nbs

  2. 数の因子の最小合計を見つけるためのPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します- 問題の説明 入力された数値を指定して、指定された数値の因子の最小合計を求めます。 ここでは、すべての因子とそれに対応する合計を計算し、それらの中から最小値を見つけます。 したがって、数の積の最小合計を見つけるために、積の素因数の合計を見つけます。 これが問題の反復実装です- 例 #iterative approach def findMinSum(num):    sum_ = 0    # Find factors of number and add to the sum