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

C++でax+by=nを満たすxとyを見つけます


この問題では、3つの整数値a、b、およびnが与えられます。私たちのタスクは、 ax + by=nを満たすxとyを見つけることです。

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

Input : a = 4, b = 1, n = 5
Output : x = 1, y = 1

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

この問題の簡単な解決策は、方程式を満たす0からnまでの値を見つけることです。これは、方程式の変更された形式を使用して行います。

x = (n - by)/a
y = (n- ax)/b

方程式を満たす値を取得した場合は、値を出力します。それ以外の場合は、「ソリューションが存在しません」と出力します。 "。

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

#include <iostream>
using namespace std;
void findSolution(int a, int b, int n){
   for (int i = 0; i * a <= n; i++) {
      if ((n - (i * a)) % b == 0) {
         cout<<i<<" and "<<(n - (i * a)) / b;
         return;
      }
   }
   cout<<"No solution";
}
int main(){
   int a = 2, b = 3, n = 7;
   cout<<"The value of x and y for the equation 'ax + by = n' is ";
   findSolution(a, b, n);
   return 0;
}

出力

The value of x and y for the equation 'ax + by = n' is 2 and 1

  1. C++で数字の礼儀正しさを見つける

    この問題では、正の整数Nが与えられます。私たちのタスクは、数値の丁寧さを見つけることです。 丁寧数 は、2つ以上の連続した数の合計として表すことができる数です。 数の礼儀正しさ は、連続する整数の合計として数を表すことができる方法の数として定義されます。 問題を理解するために例を見てみましょう 入力 n = 5 出力 1 説明 2 + 3 = 5, is the only consecutive sum. ソリューションアプローチ この問題の簡単な解決策は、Nまでのすべての連続する数字をチェックし、それらの合計がNに等しい場合は、数字の丁寧さであるカウントを増やすことです。 このソ

  2. C++で三角形の周囲を検索

    この問題では、三角形の周囲長、さまざまなタイプの三角形の周囲長の式、およびそれらを見つけるためのプログラムを確認します。 境界 フィギュアの周りの合計距離として定義されます。基本的に、それは与えられた図のすべての辺の合計です。 三角形の周囲 三角形の周囲は、その3つの辺すべての合計です(三角形は3つの辺の図です)。 式、 Perimeter = sum of all sides Perimeter = x + y + z 三角形の周囲を見つけるプログラム 例 #include <iostream> using namespace std; int calcPe