![]() |
|
![]() ![]() ![]() |
|
vnm |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 5.1.2006 Репутация: нет Всего: нет |
Кто нибудь подскажите нерекурсивный алгоритм перебора всех вариантов пароля длиной 5 символов из (к примеру) 6 символов( 1 2 9 a J ]). [email protected]
рекурсивный алгоритм: program combinations; {$APPTYPE CONSOLE} Const Simbols : String = 'ab12'; Procedure Generate(S : String; Lev : Integer); Var I : Integer; Begin If (Lev = 0) Then Begin Writeln(S); {next password} Exit; End; For I:=1 To Length(Simbols) Do Generate(S + Simbols[I], Lev - 1); End; Begin Generate('', 3); {3 simbols for password} Readln; End. |
|||
|
||||
SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 6 Всего: 74 |
Пятью вложенными циклами!
![]() -------------------- Всем добра ![]() |
|||
|
||||
nworm |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 502 Регистрация: 22.10.2005 Репутация: 4 Всего: 8 |
Можно написать процедуру генерирующую следующий за текущим пароль и гонять эту процедуру в цикле от 1 до
<колличество символов в пароле>^<длина пароля>. Это сообщение отредактировал(а) nworm - 5.1.2006, 20:39 |
|||
|
||||
BSOD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 405 Регистрация: 1.11.2004 Где: Гомель Репутация: нет Всего: 3 |
как вариант - генерить все размещения...
(сначала генериш все множества из букв (каждую букву пишешь по пять раз), потом из этих множеств перестановки... но ИМХО - рекурсивный как-то рульнее.... -------------------- как корабль назовешь - то на нем и напишешь |
|||
|
||||
S.A.P. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: нет Всего: 71 |
||||
|
||||
vnm |
|
||||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 5.1.2006 Репутация: нет Всего: нет |
Мне нужен алгоритм для произвольного кол-ва символов в пароле. Вот моя программа на дельфи:
Мне срочно нужен нерекурсивный алгоритм. Кто может то помоги[email protected] Это сообщение отредактировал(а) podval - 6.1.2006, 11:25 |
||||
|
|||||
nworm |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 502 Регистрация: 22.10.2005 Репутация: 4 Всего: 8 |
Я же говорю можно писать процедуру, генерирующую следующий за текушим пароль.
Если пароли из цифр 0-9, то за 01112339 будет 01112340 аналогичную процедуру можно написать для произвольных символов. |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
Для произвольного количества символов либо рекурсия, либо динамическое программирование - а значит тоже рекурсия.
Исключение - цепной инкремент. См. пост nworm. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
nworm |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 502 Регистрация: 22.10.2005 Репутация: 4 Всего: 8 |
Примерно так.
Проверять код было лень ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |