| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Алгоритмы > нужно получить уникальное число из строки |
| Автор: DooZ 3.11.2009, 22:51 | ||
| Здравствуйте, задача следующая есть строки "строка номер один" "строка номер два" "строка номер три" нужно по каждой строке получить свой уникальный номер (ИД) вроде md5 но только цифры причем они должны быть не большими скажем в диапазоне от 0 до пусть будет 100000000 (сто миллионов) я делаю щас вот так: привожу код c# для примера,
т.е. мы разбивает строку на символы и складываем но этот код не идеален, очень много строк пересекается по суммам вот собственно вопрос, как его можно доработать что бы слова (разные) не пересекались? пример пересекающихся строк: "cudo счастливые знакомства" "знакомства клайпеда marina" не спрашивайте что за слова, просто для теста попались... |
| Автор: DooZ 3.11.2009, 23:45 | ||||
| Вообщем проблема решилась crc суммой нашел вот такой код в сети пример на c#
как работать с ним:
пока глюков не заметил... тем немения жду комментариев, реально ли решит этот способ мою задачу? (уникальное число уникальной строке)? Добавлено через 14 минут и 45 секунд эхх рано я начал радоваться =) строки все равно пересекаются :-( вот например "форекс мтс, pos" "система торговли форекс" строки разные а crc одна :-( как быть то? |
| Автор: Akina 4.11.2009, 00:03 |
Это нормально. Хэш гарантированно имеет коллизии, если вариантов данных больше, чем вариантов хэша. И нерешаемо. |
| Автор: cardinal 4.11.2009, 00:45 |
А какие альтернативы? |
| Автор: DooZ 4.11.2009, 10:19 |
| 2Akina не бывает нерешаемых задач, просто надо немного подумать =) вот я щас опять сажусь решать эту задачу =) если у кого-то есть идеи, буду рад услышать =) я думаю тут многим интересно решить данную задачу |
| Автор: DooZ 4.11.2009, 15:22 |
| вопрос снят, в миллиард не уложиться... тема видимо закрыта =) |