Pythonで合計値がkで割り切れるN個の自然数からペアの数を見つけるプログラム
数nと別の値kがあるとすると、最初のN個の自然数を持つ配列Aがあるとすると、Aから要素A[i]とA[j]のペアの総数を見つける必要があります。
したがって、入力がn =10 k =4の場合、合計が4で割り切れる10のペアがあるため、出力は10になります。[(1,3)、(1,7)、(2,6) 、(2,10)、(3,5)、(3,9)、(4,8)、(5,7)、(6,10)、(7,9)]
これを解決するには、次の手順に従います-
理解を深めるために、次の実装を見てみましょう-
例
def solve(n, k):
m = n // k
r = n % k
b = {}
for i in range(k) :
b[i] = m
for i in range(m*k+1, n+1) :
j = i % k
b[j] = b[j] + 1
c = 0
for i in range(k) :
i1 = i
i2 = (k - i) % k
if i1 == i2 :
c = c + b[i] * (b[i]-1)
else :
c = c + b[i1] * (b[i2])
return c//2
n = 10
k = 4
print(solve(n, k))
入力
4, 27
出力
10
-
Pythonのサブツリーのノード値の合計から最小値を見つけるプログラム
すべてのノードに1からnまでの番号が付けられたツリーがあるとします。各ノードには整数値が含まれています。ここで、ツリーからエッジを削除する場合、2つのサブツリーのノード値の合計の差を最小限に抑える必要があります。そのようなサブツリー間の最小の違いを見つけて返す必要があります。ツリーはエッジのコレクションとして提供され、ノードの値も提供されます。 したがって、入力がn =6の場合、edge_list =[[1、2]、[1、3]、[2、4]、[3、5]、[3、6]]、values =[15、 25、15、55、15、65]の場合、出力は0になります。 エッジ(1,2)を削除すると、重みの
-
Pythonプログラムで数の偶数因子の合計を見つける
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −数値が与えられているので、数値のすべての偶数因子の合計を表示する必要があります。 アプローチ 数値が奇数かどうかを確認し、偶数の因子がないため、0を返します。 数が偶数の場合、計算を実行します。 20を除く他のすべての項は、偶数の因数の合計を生成するために乗算されます。 偶数因子のすべての奇数を削除するために、1である20を無視します。このステップの後、偶数因子のみを取得しました。 2は私たちが利用できる唯一の素数であることに注意してください。 次に、以下の実装を見てみましょう- 例 # math