# Author: Manfred Scheucher # Date : Aug 04 2015 from sys import argv from copy import copy from random import shuffle means = {0} M = [(0,0)] n = 0 c = 0 while True: n+=1 means2 = set() for (m,q) in M: m2 = (m+n)/(q+1) if m2 in means or m2 in means2: break means2.add(m2) if len(means2)==2^c: c+=1 print c,n #if c==10: break means |= means2 M += [(m+n,q+1) for (m,q) in M] shuffle(M)