思路:
任意真分数:
其中:q=b//a r=b%a
#Egypt fraction #a/b q=b//a r=b%a #a/b=1/(1+q) + (a-r)/(b*(q+1)) def relative_prime(fract): #change fraction to relatively-prime fracion for i in range(2,min(fract[0],fract[1])+1): if fract[0]%i==0 and fract[1]%i==0: fract[0]//=i fract[1]//=i return fract def Egypt(fract): #output Egypt ftacion outlist='' #Egypt fraction list while fract[0]!=1: #numerator is not zero q=fract[1]//fract[0] #quotient r=fract[1]%fract[0] #complement outlist=outlist+'1/'+(str(1+q))+'+' fract[0]=fract[0]-r fract[1]=fract[1]*(1+q) fract=relative_prime(fract) #check if fraction is relatively-prime fraction outlist=outlist+'1/'+str(fract[1]) return outlist while 1: try: fract=list(map(int,input().strip().split('/'))) print(Egypt(fract)) except:break