![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ХЭширование Метод свёртки
toxa_2006 © (2005-12-21 18:14:00)Срочно ПОМОГИТЕ нужна хеш-функция методом свёртки для поля ключа телефон. Можно фамилии. Кто напишет объясните как работает. У меня есть одна хэш функция но я не понимаю:
function hesh (n:string):integer;
begin
hesh:=trunc(sqrt(strtoint(n[1])*597871+strtoint(n[2])*66430+strtoint(n[4])*7381+strtoint(n[5])*820+strtoint(n[7])*91+str toint(n[8])*10)); {+n[8];822}
end;
Почему стоит число 597871 потом ещё меньше число. ОТКУДА их брать. Кстати это функция для телефонного номера Например 54-89-12. ПОЖАЛУЙСТА ПОТОРОПИТЕСЬ С ОТВЕТАМИ ЗАВТРА НАДО СДАТЬ!!!!!!!!
PAVIA (2005-12-21 19:09:00) [1]Эта функция. Для строки длиной 8 символов. Числа бируться следующим оброзом. Числа получаются следующим оброзом. 1;1+(9)^1;1+(9)^2;1+(9)^2+(9)^3;1+(9)^2+(9)^3+(9)^4; и тд.
Все хэш функции работую по следующему способу берут страку и вычисляют для нее уникальное число.
С данный методом я не знаком. Но как можно заметить. Данный способ позволяет создать уникально число таким оброзом, что разряды в числе будут соответствовать числам в строке.