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

Pythonプログラムの2つ以上(または配列)の数値のGCD


この記事では、以下に示す問題ステートメントの解決策について学習します-

問題の説明

数の配列が与えられ、最大公約数を見つける必要があります。

3つ以上の数のgcdを見つける必要がある場合、gcdは、引数として提供されるすべての数に共通の素因数の積に等しくなります。また、引数の数のペアのGCDを繰り返し取得することによって計算することもできます。

ここでは、後者のアプローチを実装します

では、実装を見てみましょう

def findgcd(x, y):
   while(y):
      x, y = y, x % y
   return x
l = [22, 44, 66, 88, 99]
num1 = l[0]
num2 = l[1]
gcd = findgcd(num1,num2)
for i in range(2,len(l)):
   gcd = findgcd(gcd,l[i])
print("gcd is: ",gcd)

出力

Gcd is: 11

下の画像に示すように、すべての変数と関数はグローバルスコープで宣言されています-

Pythonプログラムの2つ以上(または配列)の数値のGCD

結論

この記事では、与えられた引数の配列の最大公約数を見つけるためのアプローチを学びました。


  1. 2つの数値を追加するPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 2つの大きな数が与えられ、それらを追加して出力を表示する必要があります。 ブルートフォースアプローチでは、オペランド間に「+」演算子を使用するか、2つの数値を反復可能に格納して、Python標準ライブラリで使用可能な組み込みのsum関数を使用できます。 このアプローチでは、計算が10進数で直接行われるため、時間計算量が増加します。 次に、10進数のビットを処理する別のアプローチについて説明します。 ここでは、合計とキャリーを計算する加算器の概念を使用します。 それでは、実装を見

  2. 2つ以上(または配列)の数値のGCD用のPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します- 問題の説明 −数の配列が与えられ、最大公約数を見つける必要があります。 3つ以上の数のgcdを見つける必要がある場合、gcdは、引数として提供されるすべての数に共通の素因数の積に等しくなります。引数の数のペアのGCDを繰り返し取得することによって計算することもできます。 ここでは、後者のアプローチを実装します では、実装を見てみましょう 例 def findgcd(x, y):    while(y):       x, y = y, x % y   &n