Re: Перебор чисел
- From
- Dmitriy Gerasimenko ()
- To
- Eugene Anuchin
- Date
- 2002-07-22T09:08:26Z
- Area
- RU.ALGORITHMS
From: "Dmitriy Gerasimenko" <gerasimenko@karelia.ru>
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'
Не выйдет.
Мой алгоритм похож на электросчётчик, или на спидометр в автомобиле если
угодно.
Соответсвенно, по моёй формуле количество перестановок твоего числа = 10^10
Приведу пример: исходная строка "1234", из N символов. N=4
Найти: все возможные перестановки шириной 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)