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

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

PHPz
풀어 주다: 2023-08-27 21:01:06
앞으로
1145명이 탐색했습니다.

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으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿