ホームページ  >  記事  >  バックエンド開発  >  分数を最も単純な形に減らす C++ コード

分数を最も単純な形に減らす C++ コード

王林
王林転載
2023-09-05 19:37:061794ブラウズ

分数を最も単純な形に減らす C++ コード

2 つの整数 Num1 と Num2 を入力として与えます。これら 2 つの整数は、分数 Num1/Num2 として表すことができます。目標は、この部分を最も単純な形に縮小することです。

最大公約数 (GCD) を使用して最大の分母を見つける

  • これら 2 つの数値の最大公約数を計算します。

  • #両方の数値を最大公約数で割ります。

  • これら 2 つの変数を除算後の商に設定します。

  • 最も単純な分数は Num1/Num2 になります。

入力 - Num1=22 Num2=10

出力 - Num1 = 11 Num2 = 5

最も単純な分数は次のとおりです: 11/5

説明- 22 と 10 の最大公約数は 2 です。

22/2=11、10/2=5

最も単純な分数は 11/5

入力- Num1=36 Num2=40

出力- Num1 = 9 Num2 = 10

最も単純な分数は次のとおりです: 9/10

説明 - 36 40 の最大公約数は 4 です。

40/4=10, 36/4=9

最も単純な分数は 9/10です

次のプログラムで使用されるメソッドは次のとおりです

In この方法では、最初に再帰的方法を使用して入力数値の最大公約数を計算します。 2 つの数値を最大公約数で割って商を求めます。これは最も単純な分数の一部になります。

  • 入力変数 Num1 と Num2 を取得します。

  • 関数 findGCD(int a, int b) は、num1 と num2 を受け入れ、2 つの最大公約数を返します。

  • b が 0 の場合は a を返し、それ以外の場合は findGCD(b,a%b) を返します。

  • 関数 lowerFraction(int num1, int num2) は、入力として 2 つの数値を受け取り、最も単純な分数を出力します。

  • #変数 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++ コードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。