2つの分数を追加するCプログラム
入力を分数として指定します。つまり、a/bとc/dです。ここで、a、b、c、dは0以外の任意の整数値であり、タスクはこれら2つの分数を加算して最終的な合計を生成することです。
分数は-
で表されます- a / b、ここでaは分子、bは分母として知られています。
- aとbには任意の数値を使用できますが、bには0以外の任意の数値を使用できます。
- 2つの分数の合計はa/b + c / dとして表され、2つの項を加算するための規則は、分母が等しくなければならず、等しくない場合は等しくする必要があり、加算のみが可能になるというものです。実行されました。
例
Input-: 1/4 + 2/12 Output-: 5/12 Since both the fractions denominators are unequal so to make them equal either GCD or LCM can be calculated. So in this case by multiplying the denominator which is 4 by 3 we can make them equal (1 * 3) / (4 * 3) = 3 / 12 Add both the terms: 3 / 12 + 2 / 12 = 5 / 12 Input-: 1/4 + 2/4 Output-: 3/4 Since both the terms have same denominator they can be directly added
アルゴリズム
In function int gcd(int a, int b) Step 1-> If a == 0 then, return b Step 2-> Return gcd(b%a, a) In function void smallest(int &den3, int &n3) Step 1-> Declare and initialize common_factor as gcd(n3,den3) Step 2-> Set den3 = den3/common_factor Step 3-> Set n3 = n3/common_factor In Function void add_frac(int n1, int den1, int n2, int den2, int &n3, int &den3) Step 1-> Set den3 = gcd(den1,den2) Step 2-> Set den3 = (den1*den2) / den3 Step 3-> Set n3 = (n1)*(den3/den1) + (n2)*(den3/den2) Step 4-> Call function smallest(den3,n3) In Function int main() Step 1-> Declare and initialize n1=1, den1=4, n2=2, den2=12, den3, n3 Step 2-> Call add_frac(n1, den1, n2, den2, n3, den3) Step 3-> Print the values of n1, den1, n2, den2, n3, den3
例
#include <stdio.h> int gcd(int a, int b) { if (a == 0) return b; return gcd(b%a, a); } void smallest(int &den3, int &n3) { // Finding gcd of both terms int common_factor = gcd(n3,den3); den3 = den3/common_factor; n3 = n3/common_factor; } void add_frac(int n1, int den1, int n2, int den2, int &n3, int &den3) { // to find the gcd of den1 and den2 den3 = gcd(den1,den2); // LCM * GCD = a * b den3 = (den1*den2) / den3; // Changing the inputs to have same denominator // Numerator of the final fraction obtained n3 = (n1)*(den3/den1) + (n2)*(den3/den2); smallest(den3,n3); } // Driver program int main() { int n1=1, den1=4, n2=2, den2=12, den3, n3; add_frac(n1, den1, n2, den2, n3, den3); printf("%d/%d + %d/%d = %d/%d\n", n1, den1, n2, den2, n3, den3); return 0; }
出力
1/4 + 2/12 = 5/12
-
C++で2つのバイナリ文字列を追加するプログラム
2進数の文字列が2つある場合、それら2つの2進数文字列を加算して得られた結果を見つけ、その結果を2進数文字列として返す必要があります。 2進数は、0または1のいずれかで表される数値です。2つの2進数を加算する際には、2進数の加算規則があります。 0+0 → 0 0+1 → 1 1+0 → 1 1+1 → 0, carry 1 入力 str1 = {“11”}, str2 = {“1”} 出力 “100” 入力 str1 = {“110”},
-
2つの数値を追加するPythonプログラム
この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 2つの大きな数が与えられ、それらを追加して出力を表示する必要があります。 ブルートフォースアプローチでは、オペランド間に「+」演算子を使用するか、2つの数値を反復可能に格納して、Python標準ライブラリで使用可能な組み込みのsum関数を使用できます。 このアプローチでは、計算が10進数で直接行われるため、時間計算量が増加します。 次に、10進数のビットを処理する別のアプローチについて説明します。 ここでは、合計とキャリーを計算する加算器の概念を使用します。 それでは、実装を見