Jen pro zajímavost, stejná věc se řeší v "Ponořme se do Pythonu 3" od Marka Pilgrima. V českém překladu http://knihy.nic.cz/files/nic/edice/mark_pilgrim_dip3_ver3.pdf je to na straně 175 a 176 (pojem algebrogram jsem neznal, takže jsem to přeložil trochu otrocky).
Úloha se formálně zapisuje jako boolovský výraz a využívá se (trochu hodně nebezpečná) funkce eval(): JAN + DNES + NEVI + ZDA + SE + JEDE + JEDNA + JIZDA == ZNOVA V angličině je to tady a dá se tam přímo stáhnout i pythonovský zdroják. Ale pozor je to upraveno pro Python 3. Originální řešení od Raymonda Hettingera je tady (pro Python 2): http://code.activestate.com/recipes/576615/ Hledá to ale jen první řešení (pak to zastaví, dalo by se to upravit). Možná to není nejefektivnější, ale řešení je zapsáno na pár řádcích. (Na mém průměrném počítači to první řešení "JAN DNES NEVI..." ukázalo asi za 10 sekund (varianta pro Python 3). (Taky to není upravené na česká písmena, ale to se dá jednoduše.) Mějte se všichni fajn, Petr ______________________________________________________________ > "Tomix" napsal > Datum: 15.04.2011 18:04 > Předmět: [python] Pro volný čas - Algebrogram Zdravím, už dlouho se tu neřešil nějaký kvíz, tak bych jeden měl: > > http://nb.vse.cz/~fabry/hadanky-algebrogram.html > > JAN > DNES > NEVÍ > ZDA > SE > JEDE > JEDNA > JÍZDA > ------- > ZNOVA > > Zajímalo by mě, jestli je v Pythonu možné napsat řešení, které proběhne v rozumném čase. > Tak do hodiny. > Moje řešení se za několik hodin dostane cca do poloviny potřebných cyklů. (amd1700+) > Stejný kód, přepsaný do C++ proběhne komplet za 20 minut. > > Moje řešení v Pythonu: > http://codepad.org/wWPg3qQf > > A v C++ > http://codepad.org/fcy0MEmA > > Příkad má 10 řešení. > > -------------------------------------------------------------------------- > Tady je ještě jeden, lehčí: > http://nb.vse.cz/~fabry/hadanky-algebrogram-prsi-prsi.html > > PRŠÍ > PRŠÍ > JEN > SE > ---- > LEJE > > (104 řešení) > > ------- > Tomix > > > > > > > > _______________________________________________ >Python mailing list >Python@py.cz >http://www.py.cz/mailman/listinfo/python > _______________________________________________ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python