from decimal import * getcontext().prec = 30 def repeatingelement(n): power = reoccuringlength(n) return int(pow(10,power)/n) def reoccuringlength(n): n = str(Decimal(1)/Decimal(n))[2:] vals = [0] maxlength,posy, posx = 0,0,0 for x in range(0,int(len(n)/2)+1): for y in range(0,x): if n.count(n[y:x]) > 1 and (x-y) > maxlength: vals.append(n[y:x]) maxlength = (x-y) return maxlength maxrecurringcycle,maxval = 0,0 for x in range(2,1000): if repeatingelement(x) > maxrecurringcycle: maxrecurringcycle = repeatingelement(x) maxval = x print(maxval) print(repeatingelement(7)) #Answer is 983