Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Функция анализа букв в слове 
:(
    Опции темы
v2v
Дата 23.10.2008, 23:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

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



Есть у меня последовательность букв: abcdef надо реализовать функцию f такую что f (abcdef) равно некоторому числу (большому числу), при этом при расчёте функцию основную роль играет количество каждой буквы в слове, а второстепенную, но тоже очень важную порядок букв. Никак не могу придумать что это за функция должна быть ... помогите.



--------------------
PM   Вверх
DRUID3
Дата 24.10.2008, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 2
Всего: 9



 Как говорится в каждом вопросе уже есть большая часть ответа. Сформулируйте его более корректно, заодно сами поймете что же Вам нужно...


--------------------
Every time if you use Linux, you are joined to the communism...
практика - критерий истины ... отделенной от нас пропастью субъективного восприятия...
PM MAIL WWW Skype   Вверх
dereyly
Дата 26.10.2008, 13:20 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 217
Регистрация: 16.6.2006

Репутация: 1
Всего: 4



Можно попробовать модифицировать стандартную хэш функцию
a1+a2*x+a3*x^2+...+an*x^(n-1) mod p
таким образом чтобы эта функция учитывала многократные вхождения букв в слове
a1*y^count(a1)+a2*x*y^count(a2)+a3*x^2*y^count(a3)+...+an*x^(n-1)*y^count(an) mod p
где count(ak) -- количество вхождений ak в слове минус 1, т.е count(ak)=0,1..n
если y>x и y<p то влияние jlbyfrjds[ ,erd ,eltn dsit 

Это сообщение отредактировал(а) dereyly - 26.10.2008, 14:00
PM MAIL   Вверх
Silent
Дата 23.11.2008, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 252
Регистрация: 3.10.2006

Репутация: 1
Всего: 9



Код

function hash(word:string):integer;
var chars:array [char] of integer;
      i:integer;
begin
fillchar(char,0,sizeof(char));
for i:=1 to length(word) do inc(chars[word[i]]);
hash:=0;
for i:=1 to length(word) do hash:=(hash+pow(ord(word[i]),chars[word[i]])) mod MaxInteger;
end;

*pow(x,y) = x^y

Добавлено через 1 минуту и 10 секунд
*fillchar(chars,0,sizeof(char));  //sorry
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

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


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

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


 




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


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

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