In <[EMAIL PROTECTED]>, oyster wrote: > 1. first of all, what is the English jargon (Optimize? But I think > this is not a very good keyword :( )for this problem? So I can use it > to search on the internet > 2. is there any free/open lib for this? > 3. I know for some questions(case 1, case 2, and sudoku), we can use > bundles of "FOR...NEXT" loop to program. however I think it is clumsy > and inconvenient, especially when there is many vars > 4. I don't know how to deal with case 3 and case 4 > > > case: > 1. choose x0~x9 from 1~9, and must use all of 1~9, let > x0/(10*x1+x2)+x3/(10*x4+x5)+x6/(10*x7+x8)=1/2 > > 2. choose x0~x15 from 1~16, and must use all of 1~16, let > +-----+-----+-----+-----+ > | x0 | x1 | x2 | x3 | > +-----+-----+-----+-----+ > | x4 | x5 | x6 | x7 | > +-----+-----+-----+-----+ > | x8 | x9 | x10 | x11 | > +-----+-----+-----+-----+ > | x12 | x13 | x14 | x15 | > +-----+-----+-----+-----+ > > sum of every column =sum of of every row > = x0+x5+x10+x11 =x3+x6+x9+x12
The first two can be solved by a finite domain constraint solver. Logilab has a pure-python package: http://www.logilab.org/view?rql=Any%20X%20WHERE%20X%20eid%20852 Ciao, Marc 'BlackJack' Rintsch -- http://mail.python.org/mailman/listinfo/python-list