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)