Pythonでターゲット合計を形成する個別の4倍の数を見つけるプログラム
数値A、B、C、およびDの4つのリストがあり、ターゲット値もあるとすると、A [i] + B [となるような別個の4倍(i、j、k、l)の数を見つける必要があります。 j] + C [k] +D[l]はターゲットと同じです。
したがって、入力がA =[5、4、3] B =[8、4] C =[6、2] D =[4、10] target =23の場合、出力は3、4倍になります。 [5、8、6、4] [3、4、6、10] [3、8、2、10]です。
これを解決するには、次の手順に従います。
- count:=0
- m:=空の地図
- Aの各iについて、
- Bの各jについて、
- m [i + j]:=m [i + j] + 1
- Cのkごとに、
- Dのzごとに、
- (target-(k + z))がmの場合、
- count:=count + m [target-(k + z)]
- (target-(k + z))がmの場合、
- Dのzごとに、
- Bの各jについて、
- 返品数
理解を深めるために、次の実装を見てみましょう。
例
class Solution: def solve(self, A, B, C, D, target): count = 0 from collections import defaultdict from collections import Counter m = defaultdict(int) for i in A: for j in B: m[i + j] += 1 for k in C: for z in D: if target - (k + z) in m: count += m[target - (k + z)] return count ob = Solution() A = [5, 4, 3] B = [8, 4] C = [6, 2] D = [4, 10] target = 23 print(ob.solve(A, B, C, D, target))>
入力
[5, 4, 3], [8, 4], [6, 2], [4, 10], 23
出力
3
-
数の偶数因子の合計を見つけるためのPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します- 問題の説明 数値入力nが与えられた場合、タスクは数値の偶数因子の合計を見つけることです。 ここでは、最初にすべての奇妙な要因を排除する必要があります。 入力された数値が奇数の場合、偶数の因数はなく、直接ゼロを返します。それ以外の場合は、以下のコードのアプローチに従います。 以下は実装です- 例 import math # Returns sum of all even factors of n. def sumofFactors(n) : # If n is odd &nbs
-
数の因子の最小合計を見つけるためのPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します- 問題の説明 入力された数値を指定して、指定された数値の因子の最小合計を求めます。 ここでは、すべての因子とそれに対応する合計を計算し、それらの中から最小値を見つけます。 したがって、数の積の最小合計を見つけるために、積の素因数の合計を見つけます。 これが問題の反復実装です- 例 #iterative approach def findMinSum(num): sum_ = 0 # Find factors of number and add to the sum