Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перебор сообщений по 16 символов 
:(
    Опции темы
rudolfninja
Дата 10.10.2014, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 341
Регистрация: 19.2.2013
Где: г. Минск

Репутация: нет
Всего: 6



Ребята, приветствую.
Я понимаю, что идея - бред полный, но подскажите, пожалуйста, алгоритм перебора всех слов, состоящих из 16 символов из алфавита "abcdefghijklmnopqrastuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890". Можно использовать уже некоторые готовые решения, например, из <algorithm>.
Не спрашивайте зачем мне это надо и какое время это все займет. На первый вопрос я нормального ответа дать не смогу, а второй - понимаю.
В общем, если есть у кого какие идеи, поделитесь, пожалуйста.
Спасибо.
PM MAIL Skype   Вверх
Akina
Дата 10.10.2014, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Это простая генерация всех 16-значных чисел в 52-ричной системе счисления.
В простейшем варианте - 16 вложенных FOR-ов.
Если есть дополнительные условия - например, неповторение символов, - то можно написать рекурсивную функцию генерации. Уровень вложенности 16 - это не так уж и много.

PS. Сто пудов не доживёшь...




--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
rudolfninja
Дата 10.10.2014, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 341
Регистрация: 19.2.2013
Где: г. Минск

Репутация: нет
Всего: 6



Цитата(Akina @  10.10.2014,  10:49 Найти цитируемый пост)
Это простая генерация всех 16-значных чисел в 52-ричной системе счисления.

В 62-ричной (26 верхний регистр, 26 - нижний, 10 - цифры) =)

Дополнительных условий хватает, но вряд ли они помогут.

Не могут быть только буквы верхнего или нижнего регистра.
Максимум может быть только 6 цифр
Больше 4 цифр подряд не может идти.
Сообщение не может состоять только из букв
PM MAIL Skype   Вверх
Akina
Дата 10.10.2014, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Цитата(rudolfninja @  10.10.2014,  11:56 Найти цитируемый пост)
В 62-ричной 

Не суть... но дольше.

Цитата(rudolfninja @  10.10.2014,  11:56 Найти цитируемый пост)
Дополнительных условий хватает, но вряд ли они помогут.

При построении рекурсивной процедуры их можно учесть, введя соотв. флаги и счётчики, и по их значению фильтруя алфавит при передаче на следующий уровень рекурсии.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
rudolfninja
Дата 10.10.2014, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 341
Регистрация: 19.2.2013
Где: г. Минск

Репутация: нет
Всего: 6



Можно подробнее про рекурсивную функцию генерации? Желательно с каким-нибудь минимальным примером.
PM MAIL Skype   Вверх
Akina
Дата 10.10.2014, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Ну схематичненько - так
Код

function generate(alphabet, currentlength, currentword)
if currentlength = 16 then
  print currentword
  exit function
end if
for i = 1 to lenght(alphabet)
  call generate (alphabet, curretlength+1, concat(currentword, alphabet(i)))
next i
end function

call generate("abcdefghijklmnopqrastuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890", 0, "")



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
rudolfninja
Дата 10.10.2014, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 341
Регистрация: 19.2.2013
Где: г. Минск

Репутация: нет
Всего: 6



Вроде как, эта функция все время будет генерировать одно и тоже сообщение - первые 16 символов алфавита, не?
PM MAIL Skype   Вверх
Akina
Дата 10.10.2014, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Лучше бы разобрал алгоритм, чем в небо пальцем тыкать...

Присоединённый файл ( Кол-во скачиваний: 8 )
Присоединённый файл  1.PNG 22,11 Kb


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
rudolfninja
Дата 10.10.2014, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 341
Регистрация: 19.2.2013
Где: г. Минск

Репутация: нет
Всего: 6



Спасибо, понял.
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0814 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.