📄 realisation.~cpp
字号:
//---------------------------------------------------------------------------
#include "Realisation.h"
//---------------------------------------------------------------------------
int qRational::NOD (int x, int y) {
int ost=x%y;
while (ost!=0) {
x=y;
y=ost;
ost=x%y;
}
return y;
};
//---------------------------------------------------------------------------
void Rational::Abbr () {
sign = 1;
if (p<0) { p = -p; sign = -sign; }
if (q<0) { q = -q; sign = -sign; }
int gcd = NOD (p, q);
p /= gcd;
q /= gcd;
};
//---------------------------------------------------------------------------
Rational operator - (Rational a, Rational b) {
int pp = a.sign*a.p*b.q - b.sign*b.p*a.q;
int qq = a.q*b.q;
Rational x (pp, qq);
return x;
};
//---------------------------------------------------------------------------
Rational operator + (Rational a, Rational b) {
int pp = a.sign*a.p*b.q + b.sign*b.p*a.q;
int qq = a.q*b.q;
Rational x (pp, qq);
return x;
};
//---------------------------------------------------------------------------
Rational operator * (Rational a, Rational b) {
int K = a.sign*b.sign;
int pp = K*(a.p*b.p);
int qq = a.q*b.q;
Rational x (pp, qq);
return x;
};
//---------------------------------------------------------------------------
Rational Rational::inv () {
if (sign == -1) p=-p;
int pp = q;
int qq = p;
Rational x (pp, qq);
return x;
};
//---------------------------------------------------------------------------
Rational operator / (Rational a, Rational b) {
return a*b.inv();
};
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -