>  기사  >  백엔드 개발  >  C++를 사용하여 모듈러 방정식의 해 개수 찾기

C++를 사용하여 모듈러 방정식의 해 개수 찾기

PHPz
PHPz앞으로
2023-08-27 21:01:061075검색

C++를 사용하여 모듈러 방정식의 해 개수 찾기

이 글에서는 모듈 방정식의 해가 무엇인지 설명하고 모듈 방정식의 여러 해를 구하는 프로그램도 작성해 보겠습니다. 기본 예는 다음과 같습니다.

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++ 프로그램을 작성해 보겠습니다.

Example

#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;
}

Output

입력으로 0을 쓰면 프로그램은 다음과 같은 출력을 제공합니다. -

X can take Infinitely many values greater than 0

다른 숫자를 입력하면 위 프로그램은 다음과 같은 출력을 표시합니다. (여기에서는 Enter로 5를 지정했습니다.) -

Number of solution = 2

위 코드에 대한 설명

이제 프로그램을 쉽게 이해할 수 있도록 각 기능을 설명하겠습니다.

main() 함수

main 함수에서는 X와 Y의 값을 입력으로 취하고 numberofsolutions() 함수를 호출하여 가능한 해의 수를 구합니다.

Numberofsolutions() 함수

이 함수는 피제수보다 큰 나머지를 찾을 수 없기 때문에 X와 Y가 X가 Y보다 커야 한다는 조건을 충족하는지 확인합니다. 이 함수는 또 다른 함수 numberofdivisor()를 호출하고 X의 제수 수를 가져와 나머지 Y를 얻습니다.

Numberofdivisor() 함수

이 함수는 약수의 개수를 구합니다.

결론

모듈러 방정식의 해는 X를 나누고 나머지 Y를 얻는 정수입니다. 우리는 다양한 예를 통해 이를 알고 있습니다. 방정식에는 몇 가지 해가 있을 수 있으므로 간단한 방법을 적용하여 이러한 해를 찾습니다.

우리는 C++ 프로그램을 작성하여 모듈러 방정식의 해를 계산할 수 있습니다. C, Java, Python 또는 기타 프로그래밍 언어와 같은 다른 언어로 동일한 프로그램을 작성할 수 있습니다. 이 기사가 모듈 방정식에 대한 여러 해를 구하는 방법의 개념을 이해하는 데 도움이 되기를 바랍니다.

위 내용은 C++를 사용하여 모듈러 방정식의 해 개수 찾기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제