13 return Mod(val + other.val, mod);
20 return Mod(val * other.val, mod);
27 int d =
gcdx(val, mod, a, b);
44 if (k == 0) {
return Mod(1, mod); }
47 if (k == 1) {
return *
this; }
56 Mod tmp =
pow((k - 1) / 2);
57 return tmp * tmp * (*this);
Mod multiply(const Mod &other) const
A szorzást megvalósító függvény.
int get_mod() const
Modulus lekérdezése.
Mod()
Default konstruktor.
Mod inverse() const
Az inverzet számoló függvény.
int get_val() const
Maradékosztály reprezentánsa.
bool is_invalid() const
Invalid objektum lekérdezése.
static int get_print_mode()
Kiírás módja.
Mod pow(int k) const
Hatványozás.
Mod add(const Mod &other) const
Az összeadást megvalósító függvény.
Legnagyobb közös osztó előállítása.
a mod n maradékosztályok gyűrűjét reprezentáló osztály
ostream & operator<<(ostream &os, const Mod &M)
Mod osztály kiírása a képernyőre.
int gcdx(int a, int b, int &x, int &y)
Legnagyobb közös osztó kiszámolása és előállítása.
const int NORMAL_PRINT_MODE
const int SHORT_PRINT_MODE
const int INITIAL_DEFAULT_MODULUS
a default modulus kezdeti értéke
const int INITIAL_PRINT_MODE
a print mode kezdeti értéke