![]() |
|
|
#1
|
|||
|
|||
![]() Люди добрые помогите!
Есть набор слов A,B,C,D,E надо перебрать все возможные комбинации, но не меняя местами, т.е. в начале будет A ... B ... C ... D ... E ... AB ... AC ... AD ...AE ... ABC и так до ABCDE, подскажите как организовать вложенные циклы. |
#2
|
||||
|
||||
![]() Код:
var F : TextFile; A, B, C, D, E : Integer; begin AssignFile(F, 'dict.txt'); Rewrite(F); for E := Ord('a') to Ord('z') do for D := Ord('a') to Ord('z') do for C := Ord('a') to Ord('z') do for B := Ord('a') to Ord('z') do for A := Ord('a') to Ord('z') do WriteLn(F, Char(E)+Char(D)+Char(C)+Char(B)+Char(A)); CloseFile(F); end; От корректности формулировки поставленной задачи зависят: качество, скорость и желание её реализации!
|
#3
|
|||
|
|||
![]() march, не совсем так .... A,B,C,D,E - это слова - пусть будут - Юля, Таня, Табуретка, Космос, Труд ... надо перечислить все комбинации, но не переставляя местами, т.е. комбинации Таня, Юля - не может быть ..... первая комбинация - это Юля, потом Таня и т.д. пока не дойдем до полного набора A,B,C,D,E ...
|
#4
|
|||
|
|||
![]() брутфорсер =)
|
#5
|
|||
|
|||
![]() Программер_ХХХороший
Практически да, но очень специфический - так как слова не меняют своих позиций, они либо могут участвовать в общей комбинации, либо отсутствовать и их именно 5 (входных), хотя если есть реализации с 3-4- ... -6 и т.д. не беда, переделаю ) |
#6
|
|||
|
|||
![]() Понравилась мне эта задачка, решил ее, но давольно таки нестандартным решением, так как стандартное решение показалось очень скучным)
Последний раз редактировалось Asinkrit, 02.04.2011 в 20:20. |