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

Pythonで2つの数の最大公約数を数えるプログラム


aとbの2つの数があるとします。 aとbの両方の約数である正の整数がいくつあるかを見つける必要があります。

したがって、入力がa =288 b =240のような場合、最大公約数は[1,2,3,4,6,8,12,16,24,48]であるため、出力は10になります。

>

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

  • res:=0
  • 範囲1からgcd(a、b)+ 1のiの場合、do
    • (a mod i)が0で、(b mod i)が0の場合、
      • res:=res + 1
  • return res

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

from math import gcd

def solve(a, b):
   res = 0
   for i in range(1, gcd(a,b)+1):
      if (a % i) == 0 and (b % i) == 0:
         res += 1
   return res

a, b = 288, 240
print(solve(a, b))

入力

288, 240

出力

10

  1. 2つの数の最大公約数のためのPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 − 2つの整数が与えられているので、2つの数値の最大公約数を表示する必要があります ここでは、入力として受け取る2つの数値の最小値を計算しています。各値を1から計算された最小値まで除算することによって計算されて除数を計算するループ 条件が真であると評価されるたびに、カウンターは1ずつ増加します。 それでは、以下の実装の概念を見てみましょう- 例 a = 5 b = 45 count = 0 for i in range(1, min(a, b)+1):    if a%i==0 an

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

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