We are writing a rational number as a/(pb(pc-1)). If our number is a/pb then there is no valid value of c and the function returns c = 0. Setting the option NoZeroC => true forces the third entry of the output list to be nonzero, even if that means increasing the first entry.
i1 : decomposeFraction( 3, 4/27) o1 = {4, 3, 0} o1 : List |
i2 : decomposeFraction( 3, 4/27, NoZeroC => true ) o2 = {8, 3, 1} o2 : List |
i3 : 4/27 == 8/( 3^3 * ( 3 - 1 ) ) o3 = true |