Re: Перебор чисел

From
Dmitriy Gerasimenko ()
To
Eugene Anuchin
Date
2002-07-25T09:00:59Z
Area
RU.ALGORITHMS
From: "Dmitriy Gerasimenko" <gerasimenko@karelia.ru>

EA>     Не удалось повторить. Программа переставляет ЛЮБЫЕ символы не
EA>     проверяя их на совпадения. Т.е. "бббб" тоже будет прокручено 24
раза.

Для того чтобы такого не было можно исключать повторяющиеся
символы в исследуемой строке
//--------------------------------------------------------------------------
  char *bytes;
  char *pbytes;
  char *pargv;

  bytes= strdup(argv[1]);

  bytes[0]= '\0';
  pbytes= bytes;
  pargv= argv[1];
  while (*pargv) {
      if (strchr(bytes, *pargv) == 0)
        {
            *pbytes++= *pargv;
            *pbytes= '\0';
        }
    pargv++;
  }
//--------------------------------------------------------------------------
на входе: "6666"
на выходе: "6"
и как следствие количество вариантов перебора д.б. = 1, "6666"
попробуй если хочешь
//--------------------------------------------------------------------------
EA>     Строкой считаются  ЛЮБЫЕ символы после первого пробела за именем
EA>     программы и до конца строки(до  символа перенаправления ">") включая
EA>     пробелы. Проверял под чистым ДОСом и из ДОС сессии под win98 перед
EA>     тем, как отправить письмо.  Проверь еще раз.

Проверил ещё раз и ....
Итоги тестирования:
            Windows 2000 - лепит, теряет, дублирует.
            Windows 98 - только лепит. не в начале перебора а начиная
примерно с середины и далее.

....лишний раз подтверждается что 'С' -  это для народа, а ASM (в чистом
виде) для мазахистов.
изучай 'С' , и /exe/ будет работать везде.

Dmitriy AKA AC//DC




--- ifmail v.2.15dev5
 * Origin: UNKNOWN (2:5020/400)