sa wrote: > in k: > > cp:{[c;n;p]+(n#c)_vs(!_ c^n)_dvl,/{2_sv+(,/,/:\:)/(),/:@[x;&x=-1;:[;!c]]}'p}
That one goes a long way as a proof of eg evolution theory, you know, monkeys reproducing shakespeare with a typewriter k-board and all that :) > > examples: > > cp[2;3;,0 -1 1] > (0 0 0 > 0 1 0 > 1 0 0 > 1 0 1 > 1 1 0 > 1 1 1) > > cp[2;3;(0 -1 1;1 -1 0)] > (0 0 0 > 0 1 0 > 1 0 1 > 1 1 1) > > cp[2;3;(0 -1 1;1 -1 1)] > (0 0 0 > 0 1 0 > 1 0 0 > 1 1 0) > > arguments of cp: > > c = cardinality of the input set > n = power > p = list of patterns (-1 = wildcard) > > the algorithm directly computes the target set. in other words, > it does not generate the set, then filter the matches from the > target. > > modifying cp to accept s instead of the cardinality of s, > patterns expressed in terms of elements of s, &c. adds nothing > of interest to the problem. -- http://mail.python.org/mailman/listinfo/python-list