All pastes #994075 Raw Edit

Unnamed

public java v1 · immutable
#994075 ·published 2008-04-23 02:50 UTC
rendered paste body
int RationalNumber::simplify(){    if ((d<0) && (n<0))    {        d=-1*d;        n=-1*n;    }    if ((d<0) && (n>0))    {        n=n*-1;        d=d*-1;    }    if (n==d)    {        n=1;        d=1;        return 0;    }    if (d==1)    {        return 0;    }    while (iseven(n) && iseven(d))    {        n=n/2;        d=d/2;    }    int biggest;    if (n!=0)    {        if (n>d)        {            biggest=n;        }        else if (n<d)        {            biggest=d;        }        int i=0;        for (i=1;i<biggest;i++)        {            int z=i+1;            if (div_n(n, z) && div_n(d, z))            {                n=n/z;                d=d/z;        //        std::cout << "Calling simple\n";        //        std::cout << "Simplifying: " << n << "/" << d << "\n";                simplify();            }        }    }    else    {        n=0;        d=1;    }}