|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Dmitriy Gerasimenko 2:5020/400 22 Jul 2002 09:08:26 To : Eugene Anuchin Subject : Re: Перебор чисел -------------------------------------------------------------------------------- Hi, Eugene! EA> Компилировалось fasm'ом. EA> http://fasm.metro-nt.pl/fasm.zip (~200kb). Imho, получился довольно изящный и EA> короткий (53 байта) алгориитм... EA> Для строки '0123456789' выдает честных 3628800 EA> перестановок менее чем за секунду (ессно без вывода на консоль) А почему 3628800 ? Твой алгоритм перебора сгенерирует строку "0000000000", "1111111111" ? Я бы и сам проверил, но у тебя нет вывода на консоль или в файл. У меня подозрения, что твой алгоритм не разрешает размножаться символам в исходной строке, то есть он другой. EA> buf db 'abcd' ;массив. вместо 'abcd' подставь '2514' Hе выйдет. Мой алгоритм похож на электросчётчик, или на спидометр в автомобиле если угодно. Соответсвенно, по моёй формуле количество перестановок твоего числа = 10^10 Приведу пример: исходная строка "1234", из N символов. N=4 Hайти: все возможные перестановки шириной S символов, S= 1, 2, 3, 4, 5, 6, 7 Количество перестановок= N^S 4^1= 4 4^2= 16 4^3= 64 4^4= 256 4^5= 1024 4^6= 4096 4^7= 16384 //-------------------------------------------------------------------------- ------------------------------------------ Number= 1234 Count position= 1 1 :1 2 :2 3 :3 4 :4 //-------------------------------------------------------------------------- ------------------------------------------ Number= 1234 Count position= 2 1 :11 2 :12 3 :13 4 :14 5 :21 6 :22 7 :23 8 :24 9 :31 10 :32 11 :33 12 :34 13 :41 14 :42 15 :43 16 :44 //-------------------------------------------------------------------------- ------------------------------------------ Number= 1234 Count position= 3 1 :111 2 :112 3 :113 4 :114 5 :121 6 :122 7 :123 8 :124 9 :131 10 :132 11 :133 12 :134 13 :141 14 :142 15 :143 16 :144 17 :211 18 :212 19 :213 20 :214 21 :221 22 :222 23 :223 24 :224 25 :231 26 :232 27 :233 28 :234 29 :241 30 :242 31 :243 32 :244 33 :311 34 :312 35 :313 36 :314 37 :321 38 :322 39 :323 40 :324 41 :331 42 :332 43 :333 44 :334 45 :341 46 :342 47 :343 48 :344 49 :411 50 :412 51 :413 52 :414 53 :421 54 :422 55 :423 56 :424 57 :431 58 :432 59 :433 60 :434 61 :441 62 :442 63 :443 64 :444 //-------------------------------------------------------------------------- ------------------------------------------ etc. //-------------------------------------------------------------------------- ------------------------------------------ Чао. --- ifmail v.2.15dev5 * Origin: UNKNOWN (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/89681df740b4.html, оценка из 5, голосов 10
|