2つの数値を追加するPythonプログラム
この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。
問題の説明
2つの大きな数が与えられ、それらを追加して出力を表示する必要があります。
ブルートフォースアプローチでは、オペランド間に「+」演算子を使用するか、2つの数値を反復可能に格納して、Python標準ライブラリで使用可能な組み込みのsum関数を使用できます。
このアプローチでは、計算が10進数で直接行われるため、時間計算量が増加します。
次に、10進数のビットを処理する別のアプローチについて説明します。
ここでは、合計とキャリーを計算する加算器の概念を使用します。
それでは、実装を見てみましょう-
例
def Add(x, y): # carry becomes null while (y != 0): # carry with common bits carry = x & y # Sum of bits of x and y x = x ^ y # Carry is shifted by one y = carry << 1 return x print(Add(19, 34))
出力
53
次の図に示すように、すべての変数と関数はグローバルスコープで宣言されます。
結論
この記事では、全加算器を使用して2つの数値を加算する方法について学習しました。
-
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
-
Pythonプログラムの2つ以上(または配列)の数値のGCD
この記事では、以下に示す問題ステートメントの解決策について学習します- 問題の説明 数の配列が与えられ、最大公約数を見つける必要があります。 3つ以上の数のgcdを見つける必要がある場合、gcdは、引数として提供されるすべての数に共通の素因数の積に等しくなります。また、引数の数のペアのGCDを繰り返し取得することによって計算することもできます。 ここでは、後者のアプローチを実装します では、実装を見てみましょう 例 def findgcd(x, y): while(y): x, y = y, x % y