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

分数を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

  1. C++の迷路

    空のスペースと壁のある迷路の中にボールがあるとします。これで、ボールは上、下、左、右などの任意の方向に転がることで空のパスを通過できますが、壁にぶつかるまで転がりが止まりません。ボールが止まると、次の方向を選択できます。 ボールの位置、目的地、迷路を開始し、ボールが目的地に止まるかどうかを確認する必要があります。迷路は1つの2D配列で表されます。ここで、1は壁を示し、0は空きスペースを示します。迷路の境界はすべて壁です。開始座標と宛先座標は、行と列のインデックスで表されます。 したがって、入力が2D配列で表される迷路のようなものである場合 0 0 1 0 0

  2. Window上のc++のトップIDEは何ですか?

    大きなプロジェクトは、単なるテキストエディタでは管理が困難です。このような場合にIDEを使用すると、生産性が向上し、フラストレーションが軽減される可能性があります。 IDEにはさまざまな種類があり、ニーズに合ったものを選択する必要があります。これがWindowに最適なC/C++IDEのリストです。 Visual Studio − Microsoftが開発したIDEです。このIDEは、Windows上でC ++のプログラムを構築、開発、およびプロファイリングするためのクラス最高のツールを備えています。 Visual Studioには、多数のプラグインを備えた巨大なプラグインストアもありま