Rumah > pembangunan bahagian belakang > C++ > Cari bilangan penyelesaian kepada persamaan modular menggunakan C++

Cari bilangan penyelesaian kepada persamaan modular menggunakan C++

PHPz
Lepaskan: 2023-08-27 21:01:06
ke hadapan
1137 orang telah melayarinya

Cari bilangan penyelesaian kepada persamaan modular menggunakan C++

Dalam artikel ini kami akan menerangkan apakah penyelesaian persamaan modular dan kami juga akan menulis program untuk mencari penyelesaian berbilang persamaan modular. Berikut ialah contoh asas -

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)
Salin selepas log masuk

Seperti yang kita lihat dalam contoh di atas, setiap integer ialah penyelesaian yang memberikan baki Y selepas membahagikan X. Dalam contoh ini, membahagikan 30 dengan 4, 7, 14, dan 28 memberikan baki 2, yang sama dengan Y. Kami akan menyelesaikan persamaan modular dengan cara ini.

Kaedah Penyelesaian

Kita boleh menggunakan kaedah mudah membahagi X dengan setiap integer bermula dari 1 dan semak sama ada ia memberikan baki Y atau kita boleh membahagi (X - Y) dengan setiap Integer, dan membahagi dengan (X - Y) tetapi bukan dengan integer X ialah penyelesaiannya. Mari kita tulis program C++ untuk mencari penyelesaian yang berbeza kepada persamaan modular.

Contoh

#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;
}
Salin selepas log masuk

Output

Apabila kita menulis 0 sebagai input, program memberikan output seperti ini -

X can take Infinitely many values greater than 0
Salin selepas log masuk

Apabila kita memasukkan nombor lain, program di atas menunjukkan output seperti ini (Di sini kita telah memberikan 5 sebagai Enter) -

Number of solution = 2
Salin selepas log masuk

Penjelasan kod di atas

Sekarang kami menerangkan setiap fungsi supaya anda boleh memahami program dengan mudah.

fungsi utama()

Dalam fungsi utama, kami mengambil nilai X dan Y sebagai input dan mencari bilangan penyelesaian yang mungkin dengan memanggil fungsi numberofsolutions().

Fungsi Numberofsolutions()

Fungsi ini menyemak sama ada X dan Y memenuhi syarat bahawa X sepatutnya lebih besar daripada Y, kerana kita tidak dapat mencari baki yang lebih besar daripada dividen. Fungsi ini memanggil fungsi lain numberofdivisor() dan mendapat bilangan pembahagi X, menghasilkan baki Y.

Fungsi Numberofdivisor()

Fungsi ini mencari bilangan pembahagi bagi

Kesimpulan

Penyelesaian kepada persamaan modular ialah integer yang membahagi X dan mendapat baki Y yang kita ketahui daripada pelbagai contoh. Persamaan boleh mempunyai beberapa penyelesaian, jadi kami mencari penyelesaian ini dengan menggunakan kaedah mudah.

Kita boleh menulis program C++ untuk mengira penyelesaian kepada persamaan modular. Kita boleh menulis program yang sama dalam bahasa lain seperti C, Java, Python atau mana-mana bahasa pengaturcaraan lain. Mudah-mudahan anda mendapati artikel ini membantu dalam memahami konsep cara mencari pelbagai penyelesaian kepada persamaan modular.

Atas ialah kandungan terperinci Cari bilangan penyelesaian kepada persamaan modular menggunakan C++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan