#mcd: int int -> int #máximo común divisor entre x e y positivos #ej: mcd(18,24)->6, mcd(4,9)->1, mcd(7,7)->7 def mcd(x,y): assert type(x)==int and x>0 assert type(y)==int and y>0 def _mcd(x,y,divisor): if x%divisor==0 and y%divisor==0: return divisor else: return _mcd(x,y,divisor-1) return _mcd(x,y,min(x,y)) assert mcd(18,24)==6 assert mcd(4,9)==1 assert mcd(7,7)==7 def mcd(x,y): assert type(x)==int and x>0 assert type(y)==int and y>0 if x==y: return x elif x>y: return mcd(x-y,y) else: return mcd(x,y-x) assert mcd(18,24)==6 assert mcd(4,9)==1 assert mcd(7,7)==7