一、分数的表示
用结构体进行存储这个分数,这个分数是个假分数。
于是就可以进行定义Fraction类型的变量来表示分数,或者定义数组来表示一堆分数。其中需要对这种分数表示制定三项规则:
二、分数的化简。
分数的化简主要以以上三项规定进行计算。
Fraction reduction(Fraction result){
if(result.down < 0){
result.up = -result.up;
result.down = -result.down;
}
else
if(result.up == 0){
result.down == 1;
}
else{
int d = gcd(abs(result.up),abs(result.down));
result.up/=d;
result.down /= d;
}
return result;
}
注意:分数的加减乘除都需要对结果进行约分,因为你可能得到的是假分数。
分数的加减乘除的要点就是进行通分,然后进行普通的运算。
由于分数的乘法与除法的过程中可能使分子分母的数值大于int型的范围,所以一般情况下都用long long进行存储。