Об игре
Новости
Войти
Регистрация
Рейтинг
Форум
19:15
3906
 online
Требуется авторизация
Вы не авторизованы
   Форумы-->Форум для внеигровых тем-->
1|2|3|4

АвторПрограммирование. Помогите изобрести велосипед. Буквы в числа
Дано ~25000 различных слов длиной до 20 символов, каждое слово уникально
Слова могут включать символы A..Z, А..Я, 0..9, +6 символов, итого 75 вариантов символов
Преобразовать каждое слово в цифру
Число может быть от 0 до 4294967295
Каждая полученная цифра должна быть уникальна
При внесении изменений в массив слов (удаление, изменение, добавление слова) связь определенной цифры определенному слову не должна нарушаться

Какие могут быть варианты подходов?
Может велосипед уже изобретен, а я не в курсе?

Присвоение слову дополнительного поля ЦИФРА невозможно
Создание справочника слов неэффективно: слова могут появляться, меняться и пропадать, уникальность каждого слова соблюдается при каждом действии
Сортировка слов по какому либо признаку и присвоение каждому слову чисел по порядку так же невозможно - при изменении свойства, отвечающего за сортировку, потеряется связь определенного числа определенному слову.
каждой букве цифра цифры не складываютса а запЫсываютса последовательно
Каждая полученная цифра должна быть уникальна
в смысле число? Или именно цифра?
а понял.
А обязательно 10-ричный счет использовать?
для kr0ik:
каждой букве цифра
75 вариантов символов
В 75-ричной системе счисления?)))
для Йопсель:
не должно получитса допустим 887878 при вводе двух разных слов или действий
значит вариант математикечских действий недопустим
ассоциативные массивы кури.
https://ru.wikipedia.org/wiki/Хеширование
а вообще задача не понятна. Как, где, должны храниться эти слова? Как будут использоваться?
Вот так вломали Пентагон
Дано ~25000 различных слов длиной до 20 символов, каждое слово уникально
Всего слов длиной 20 и с вариантами букв 75 - это число 37-го порядка. Если длина от 1 до 20-ти, то гораздо больше. Т.е. задача в общем виде довольно странная.
Поэтому я бы сделал таблицу соответствий слов числу и не парился бы.
Присвоение слову дополнительного поля ЦИФРА невозможнопри изменении свойства, отвечающего за сортировку
на мой взгляд, сочетание этих двух условий делает решение задачи невозможным.
если нельзя указывать прямую связь и если нельзя указывать косвенную связь, то связь не установить.
На каком языке-то надо?
А обязательно 10-ричный счет использовать?
да, от 0 до 4294967295

Как, где, должны храниться эти слова? Как будут использоваться?
Вопросы к задаче отношения не имеют.
Хранятся в таблице SQL [триггеры пилить а) не умею, б) не хочу из-за малости задачи крушить таблицы], служат уникальным идентификатором строки таблицы
На каком языке-то надо?
Русском

Всего слов длиной 20 и с вариантами букв 75 - это число 37-го порядка. Если длина от 1 до 20-ти, то гораздо больше. Т.е. задача в общем виде довольно странная.
Вариантов да, уйма, по факту же имеется число не такое страшное

Поэтому я бы сделал таблицу соответствий слов числу и не парился бы.
Слова могут меняться, могут создаваться новые и происходит это довольно часто, чтобы вручную доделывать таблицу
для MrSlayer:
а) ROWID пользователю недоступен
б) я не в курсе поведения ROWID при внесении извенений в таблицу
erros
а зачем он пользователю? Если ты про запросы, то их правильно выполнять на стороне сервера. А сам он автоматически назначается каждой строке.
Что касается изменений - то rowid формируется при добавлении строки и больше не меняется. Он уникален для записи в рамках всей СУБД.
простите, в рамках экземпляра БД. "В рамках СУБД" я конечно загнул :)
для MrSlayer:
Пользователю недоступен, работа с ним невозможна, исполнение идёт на стороне пользователя в офисном приложении для последующей обработки в офисном же приложении (создание .csv файла как финальный результат)
1|2|3|4
К списку тем
2007-2025, онлайн игры HeroesWM