この記事では、モジュラー方程式の解とは何かを説明し、モジュラー方程式の複数の解を見つけるプログラムも作成します。基本的な例は次のとおりです -
Input : X = 30 Y = 2 Output : 4, 7, 14, 28 Explanation : 30 mod 4 = 2 (equals Y), 30 mod 7 = 2 (equals Y), 30 mod 14 = 2 (equals Y), 30 mod 28 = 2 (equals Y) Input : X = 30 Y = 2 Output : 4, 7, 14, 28 Explanation : 30 mod 4 = 2 (equals Y), 30 mod 7 = 2 (equals Y), 30 mod 14 = 2 (equals Y), 30 mod 28 = 2 (equals Y)
上の例で見たように、すべての整数は、X を除算した後の余り Y を与える解です。この例では、30 を 4、7、14、28 で割ると余りが 2 になり、これは Y と等しくなります。このようにモジュラー方程式を解きます。
X を 1 から始まるすべての整数で割る簡単な方法を適用して、余り Y が得られるかどうかを確認するか、X - Y) をすべての整数で割ることができます。整数であり、(X - Y) を除算するが X ではない整数が解になります。モジュラー方程式のさまざまな解を見つける C プログラムを書いてみましょう。
#include <bits/stdc++.h> using namespace std; int numberofdivisor(int X, int Y){ int N = (X - Y); int noOfDivisors = 1; for (int i = 1; i <= N/2; i++) { // if N is divisible by i if ((N % i) == 0) { // count if integer is greater than Y if (i > Y) noOfDivisors++; } } return noOfDivisors; } void numberofsolutions(int X, int Y){ int noOfSolutions; if (X == Y) noOfSolutions = -1; if (X < Y) noOfSolutions = 0; if (X > Y) noOfSolutions = numberofdivisor(X, Y); if (noOfSolutions == -1) { cout << "X can take Infinitely many values" " greater than " << X << "\n"; } else { cout << "Number of solution = " << noOfSolutions; } } // main function int main(){ int X,Y; cin >> X; cin >> Y; numberofsolutions(X, Y); return 0; }
入力として 0 を書き込むと、プログラムは次の出力を返します。
X can take Infinitely many values greater than 0
他の数値を入力すると、上記のようになります。プログラムは次のような出力を表示します (ここでは入力として 5 を指定しました) -
Number of solution = 2
ここで、プログラムを簡単に理解できるように、各関数を説明します。
main 関数では、X と Y の値を入力として受け取り、numberofsolutions() 関数を呼び出して考えられる解の数を見つけます。
この関数は、被除数より大きい剰余が見つからないため、X と Y が X が Y より大きくなければならないという条件を満たすかどうかをチェックします。この関数は別の関数numberofdivisor()を呼び出し、Xの約数の数を取得し、その結果剰余Yが得られます。
この関数は、1 から (X - Y)/2 までのループを実行し、各整数が割り切れるかどうかを確認することによって、X - Y の約数の数を見つけます。 integer は X を正確に割ってはなりません。
モジュラー方程式の解は、X を除算して余り Y を得る整数です。これはさまざまな例からわかります。方程式にはいくつかの解が存在する可能性があるため、簡単な方法を適用してこれらの解を見つけます。
モジュラー方程式の解を計算する C プログラムを作成できます。同じプログラムを、C、Java、Python、またはその他のプログラミング言語などの他の言語で作成できます。この記事がモジュラー方程式の複数の解を見つける方法の概念を理解するのに役立つことを願っています。
以上がC++ を使用してモジュラー方程式の解の数を求めるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。