import random import math import sys def validate(d): if len(d) < 2: return True prev = d[0] for i in range(1, len(d)): if d[i] < prev: return False prev = d[i] return True datalen = int(sys.argv[1]) data = [] for i in range(datalen): data.append(i) random.shuffle(data) expected = math.factorial(datalen+1) iters = 0 while validate(data) == False: random.shuffle(data) iters = iters+1 print("valid after " + str(iters) + ", expected: " + str(expected)) print(data)