有理数与复数的处理与运算
在数学和编程中,有理数和复数是常见的概念。有理数是可以表示为两个整数之比的数,而复数则是由实数和虚数组成的数。下面我们将详细探讨它们在编程中的处理和运算。
有理数的处理
对于有理数,当分子不为 0 时,若分母小于 0,我们会同时改变分子和分母的符号,确保分母始终大于 0。之后,我们会计算分子和分母的最大公约数(GCD),并将分子和分母同时除以这个最大公约数,以化简分数。
以下是相关代码:
if (denominator < 0) {
numerator = -numerator;
denominator = -denominator;
}
int gcd = GCD(abs(numerator), denominator);
numerator /= gcd;
denominator /= gcd;
GCD 方法通过递归比较两个数,并从较大的数中减去较小的数,直到两个数相等,此时返回该数。GCD 算法被认为是世界上最古老的非平凡算法。
int Rational::GCD(int number1, int number2) {
if (number1 > number2) {
return GCD(number1 - number2, number2);
}
else if (number1 < number2) {
return GCD(number1, number2 - nu
超级会员免费看
订阅专栏 解锁全文
31

被折叠的 条评论
为什么被折叠?



