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

C++で3つの数値の一般的な比率を見つけるプログラム


この問題では、x:yとy:zの2つの比率が与えられます。私たちのタスクは、C++での3つの数値の一般的な比率を見つけるプログラムを作成することです。 。

問題の説明 −与えられた比率を使用して、3つの数値の共通の比率を見つける必要があります。 x:yとy:zを使用すると、x:y:zが見つかります。

問題を理解するために例を見てみましょう

入力

3:5 8:9

出力

24: 40: 45

説明 − x:yとy:zの2つの異なる比率があります。 x:y:zを作成するには、比率を可能にする両方の比率でyを同じにします。そのために、帰一算を行います。

$ \ frac {\ square} {\ square1} =\ frac {\ square2} {\ square} \ Rightarrow \ frac {\ square \ square2} {\ square1 \ square2} =\ frac {\ square1 \ square2} {\ square2 \ square} $

これにより、比率はx’:y’:z’

になります。

したがって、3 * 8:8 * 5:5 * 9 =24:40:45が比率です。

ソリューションアプローチ

上記の例で説明したように、両方の比率で中央の要素を共通にする必要があります。このために、クロス乗算を実行しますが、クロス乗算によって結果が大きくなる場合があります。したがって、効率的なアプローチはLCMを見つけることです。そして、比率を次のように求めます-

$ \ frac {\ square * \ square \ square \ square} {\ square1}:\ square \ square \ square:\ frac {\ square * \ square \ square \ square} {\ square2} $

ソリューションの動作を説明するプログラム

#include <iostream>
using namespace std;
int calcLcm(int a, int b){
   int lcm = 2;
   while(lcm <= a*b) {
      if( lcm%a==0 && lcm%b==0 ) {
         return lcm;
         break;
      }
      lcm++;
   }
   return 0;
}
void calcThreeProportion(int x, int y1, int y2, int z){
   int lcm = calcLcm(y1, y2);
   cout<<((x*lcm)/y1)<<" : "<<lcm<<" : "<<((z*lcm)/y2);
}
int main() {
   int x = 12, y1 = 15, y2 = 9, z = 16;
   cout<<"The ratios are\t"<<" x:y = "<<x<<":"<<y1<<"\ty:z = "<<y2<<":"<<z<<endl;
   cout<<"The common ratio of three numbers is\t";
   calcThreeProportion(x, y1, y2, z);
   return 0;
}

出力

The ratios are x:y = 12:15 y:z = 9:16
The common ratio of three numbers is 36 : 45 : 80

  1. C++で三角形の図心を見つけるプログラム

    この問題では、三角形の3つの頂点の座標を示す2D配列が与えられます。私たちのタスクは、C++で三角形のセントロイドを見つけるプログラムを作成することです。 セントロイド 三角形の3つの中央値は、三角形の3つの中央値が交差する点です。 中央値 三角形の頂点は、三角形の頂点とその反対側の線の中心点を結ぶ線です。 問題を理解するために例を見てみましょう 入力 (-3, 1), (1.5, 0), (-3, -4) 出力 (-3.5, -1) 説明 Centroid (x, y) = ((-3+2.5-3)/3, (1 + 0 - 4)/3) = (-3.5, -1) ソリューションアプロ

  2. C++で平行四辺形の面積を見つけるプログラム

    この問題では、平行四辺形の底と高さを表す2つの値が与えられます。私たちのタスクは、C++で平行四辺形の領域を見つけるプログラムを作成することです。 平行四辺形 は、反対側が等しく平行な4辺の閉じた図形です。 問題を理解するために例を見てみましょう 入力 B = 20, H = 15 出力 300 説明 平行四辺形の面積=B* H =20 * 15 =300 ソリューションアプローチ この問題を解決するために、平行四辺形の面積の幾何学的公式を使用します。 Area = base * height. ソリューションの動作を説明するプログラム 例 #include <io