def target_numbers(es): d = {} nl = mtools.perm(es) for l in nl: for ops in ops_list: r = ops[0](l[0], l[1]) r1 = ops[1](r, l[2]) r1 = ops[2](r1, l[3]) if r1 > 0: r1 = round_int(r1) if r1 > 0 and not d.has_key(r1): d[r1] = True #(a b) (c d) r2 = ops[2](l[2], l[3]) r2 = ops[1](r, r2) if r2 > 0: r2 = round_int(r2) if r2 > 0 and not d.has_key(r2): d[r2] = True return d.keys()
def gen_find_cylic_list(n): nls = mtools.perm(gen_nl(n)) for nl in nls: cl = find_cylic_list(nl, nl[0], []) if cl: return cl