Apr-02-2019, 10:17 AM
I think you can improve code I just wrote; it is about finding GCD of several values:
def gcd(*x): """Returns greatest common divisor""" def _gcd2(x, y): # FIXME: ensuring that x > y should be moved somewhere else, e.g. in # decorator called ensure_sorted x, y = max(x, y), min(x, y) while True: a, b = divmod(x, y) x, y = y, b if b == 0: break return x if len(x) == 2: return _gcd2(*x) else: return _gcd2(x[0], gcd(*x[1:])) if __name__ == "__main__": print("Should return GCD of a set of numbers") print("Result of GCD(2, 4, 8) is ", gcd(2, 4, 8))