Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Eugene Anuchin                       2:5070/96.2    23 Jul 2002  03:03:31
 To : Dmitriy Gerasimenko
 Subject : Перебор чисел
 -------------------------------------------------------------------------------- 
 
 
  22 Июл 02 09:08, Dmitriy Gerasimenko wrote to Eugene Anuchin:
 
  EA>> Компилировалось fasm'ом.
  EA>> http://fasm.metro-nt.pl/fasm.zip (~200kb). Imho, получился
  EA>> довольно изящный и короткий (53 байта) алгориитм...
  EA>> Для строки '0123456789' выдает честных 3628800
  EA>> перестановок менее чем за секунду (ессно без вывода на консоль)
  DG> А почему 3628800 ?
 
 Количество ПЕРЕСТАHОВОК для десяти элементов = 10! (факториал)
 
  DG> Твой алгоритм перебора сгенерирует строку "0000000000","1111111111"?
 
 Hет конечно. Только исходные элементы, переставленные всеми возможными
 вариантами.
 
  DG> Я бы и сам проверил, но у тебя нет вывода на консоль или в файл.
 
 Как это нет?!!! Печать идет на стандартное устройство вывода (по умолчанию -
 консоль). Можно перенаправить в файл (перестановки.com > отчет.txt)
 
  DG> У меня подозрения, что твой алгоритм  не разрешает размножаться
  DG> символам в исходной строке, то есть он другой. Мой алгоритм похож на
  DG> электросчётчик, или на спидометр в автомобиле если угодно.
  DG> Соответсвенно, по моёй формуле количество перестановок твоего числа =
  DG> 10^10
 
 А какой тогда здесь вообще алгоритм?!
 Просто пробегаем все значения от 0 до 10^10-1 (0000000000-9999999999)
 
  DG> Приведу пример: исходная строка "1234", из N символов. N=4
  DG> Hайти: все возможные перестановки шириной S символов, S= 1, 2, 3, 4,
  DG> 5, 6, 7. Количество перестановок= N^S
 
 хорошо, вот то, что надо:
 
         org     100h
         push    word last
         mov     ah, 9
         mov     dx, string
         mov     di, dx
 ;------------------------------
 recur:  mov     si, buffer
 next:   lodsb
         mov     [di], al
         cmp     di, CR-1
         jae     skip
         push    si
         push    di
         inc     di
         call    recur
         pop     di
         pop     si
 skip:   cmp     si, string
         jae     quit
         int     21h
         jmp     next
 quit:   ret
 ;------------------------------
 last:   int     21h
         ret
 buffer  db '012345' ;исходные элементы, N=6 штук. Можно заменить на 'privet'
 string  db 'xxx'    ;итоговая строка S=3 символа. N^S = 6^3 вариантов
 CR      db ' $'
 ... Life - Sucks!
 --- Hе подохнешь - пpивыкнешь, не пpивыкнешь - подохнешь! (М. Жванецкий)
  * Origin: `Wireless' Евгений ael @irk. ru (2:5070/96.2)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Перебор чисел   Dmitriy Gerasimenko   19 Jul 2002 14:19:40 
 Re: Перебор чисел   Andrey Belyakov   19 Jul 2002 18:52:10 
 Re: Перебор чисел   Dmitriy Gerasimenko   22 Jul 2002 09:08:25 
 Перебор чисел   Georgy Plechanov   22 Jul 2002 11:30:56 
 Re: Пеpебоp чисел   Mike Girkin   19 Jul 2002 19:44:34 
 Перебор чисел   Eugene Anuchin   21 Jul 2002 01:30:04 
 Re: Перебор чисел   Dmitriy Gerasimenko   22 Jul 2002 09:08:26 
 Перебор чисел   Eugene Anuchin   23 Jul 2002 03:03:31 
 Re: Перебор чисел   Dmitriy Gerasimenko   23 Jul 2002 11:22:25 
 Пеpебоp чисел   Alexander Hritonenkov   23 Jul 2002 13:12:42 
 Re: Пеpебоp чисел   Dmitriy Gerasimenko   23 Jul 2002 14:51:09 
 Пеpебоp чисел   Alexander Hritonenkov   23 Jul 2002 18:09:20 
 Re: Пеpебоp чисел   Dmitriy Gerasimenko   23 Jul 2002 14:51:12 
 Re: Перебор чисел   Andrew Ezhguroff   23 Jul 2002 14:24:31 
 Re: Перебор чисел   Dmitriy Gerasimenko   23 Jul 2002 14:51:09 
 Re: Перебор чисел   Andrew Ezhguroff   24 Jul 2002 01:43:03 
 Re: Перебор чисел   Dmitriy Gerasimenko   26 Jul 2002 08:43:38 
 Re: Пеpебоp чисел   Mike Girkin   23 Jul 2002 15:26:22 
 Перебор чисел   Eugene Anuchin   24 Jul 2002 00:12:05 
 Re: Перебор чисел   Dmitriy Gerasimenko   24 Jul 2002 10:07:18 
 Перебор чисел   Eugene Anuchin   25 Jul 2002 00:50:07 
 Re: Перебор чисел   Dmitriy Gerasimenko   25 Jul 2002 09:00:59 
 [*] Перебор чисел   Comoderator Of Ru Algorithms   25 Jul 2002 16:30:12 
 Re: Пеpебоp чисел   Anatoly Svishev   22 Jul 2002 23:31:02 
 Re: Пеpебоp чисел   Dmitriy Gerasimenko   23 Jul 2002 11:22:25 
Архивное /ru.algorithms/27953d3c4a0f.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional