分数をC++で最も低い形式に減らします
入力として2つの整数Num1とNum2が与えられます。整数は分数Num1/ Num2として表すことができます 。目標は、この割合を最も低い形式に減らすことです。
GCDを使用して最大公約数を見つける
-
両方の数値の最大公約数を計算します。
-
両方の数値をそのgcdで割ります
-
除算後、両方の変数を商として設定します。
-
最も低い分数はNum1/Num2になります。
例
入力 − Num1 =22 Num2 =10
出力 − Num1 =11 Num2 =5
最低分数:11/5
説明 −22と10のGCDは2です。
22/2=11および10/2=5
最低の割合は11/5です
入力 − Num1 =36 Num2 =40
出力 − Num1 =9 Num2 =10
最低分数:9/10
説明 −36と40のGCDは4です。
40/4=10および36/4=9
最低の割合は9/10です
以下のプログラムで使用されているアプローチは次のとおりです
このアプローチでは、最初に再帰的アプローチを使用して入力数のGCDを計算します。両方の数値をGCDで除算し、商を取得します。これらの商は、最も低い分数の一部になります。
-
入力変数Num1とNum2を取ります。
-
関数findGCD(int a、int b)は、num1とnum2を取り、両方のgcdを返します。
-
bが0の場合は、それ以外の場合はfindGCD(b、a%b)を返します。
-
関数lowestFraction(int num1、int num2)は、両方の数値を入力として受け取り、最小の小数部を出力します。
-
gcdの変数denomを取ります。
-
num1 =num1/denomおよびnum2=num2/denomを設定します。
-
num1とnum2を出力します。
-
最小の小数部をnum1/num2として出力します。
例
#include <bits/stdc++.h> using namespace std; int findGCD(int a, int b) { if (b == 0) return a; return findGCD(b, a % b); } void lowestFraction(int num1, int num2){ int denom; denom = findGCD(num1,num2); num1/=denom; num2/=denom; cout<< "Num1 = " << num1<<endl; cout<< "Num2 = " << num2<<endl; cout<< "Lowest Fraction : "<<num1<<"/"<<num2; } int main(){ int Num1 = 14; int Num2 = 8; lowestFraction(Num1,Num2); return 0; }
出力
上記のコードを実行すると、次の出力が生成されます
Num1 = 7 Num2 = 4 Lowest Fraction : 7/4
-
C++の迷路
空のスペースと壁のある迷路の中にボールがあるとします。これで、ボールは上、下、左、右などの任意の方向に転がることで空のパスを通過できますが、壁にぶつかるまで転がりが止まりません。ボールが止まると、次の方向を選択できます。 ボールの位置、目的地、迷路を開始し、ボールが目的地に止まるかどうかを確認する必要があります。迷路は1つの2D配列で表されます。ここで、1は壁を示し、0は空きスペースを示します。迷路の境界はすべて壁です。開始座標と宛先座標は、行と列のインデックスで表されます。 したがって、入力が2D配列で表される迷路のようなものである場合 0 0 1 0 0
-
Window上のc++のトップIDEは何ですか?
大きなプロジェクトは、単なるテキストエディタでは管理が困難です。このような場合にIDEを使用すると、生産性が向上し、フラストレーションが軽減される可能性があります。 IDEにはさまざまな種類があり、ニーズに合ったものを選択する必要があります。これがWindowに最適なC/C++IDEのリストです。 Visual Studio − Microsoftが開発したIDEです。このIDEは、Windows上でC ++のプログラムを構築、開発、およびプロファイリングするためのクラス最高のツールを備えています。 Visual Studioには、多数のプラグインを備えた巨大なプラグインストアもありま