首页 > 其他 > 详细

分式运算模板

时间:2019-01-19 00:32:14      阅读:211      评论:0      收藏:0      [点我收藏+]
ll gcd(ll a,ll b)
{
    if(b==0)
    {
        return a;
    }else
    {
        return gcd(b,a%b);
    }

}
ll ABS(ll x) {
    return x<0 ? -x : x;
}
struct F {
    ll num,den;// fenzi -> num  fenmu-> den
    F(ll num=0,ll den=1) {
        if(den<0) num=-num,den=-den;
        ll g = gcd(ABS(num),den);
        this->num = num/g;
        this->den = den/g;
    }
    F operator+(const F &o)const {
        return F(num*o.den + den*o.num, den*o.den);
    }
    F operator*(const F &o)const {
        return F(num*o.num , den*o.den);
    }
    F operator/(const F &o) const {
        return F(num*o.den,den*o.num);
    }
};

 

分式运算模板

原文:https://www.cnblogs.com/qieqiemin/p/10290212.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!