Как завершить хэш -код этого метода Хорнера? (C ++)C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как завершить хэш -код этого метода Хорнера? (C ++)

Сообщение Anonymous »

Мы делаем хэш -код в C ++, используя метод Хорнера. Он работает в основном с двумя из наших 4 тестовых случаев, но мы не можем выяснить, почему это не работает для последних двух случаев.

Код: Выделить всё

unsigned long long horner_hash(string str, int p, int m)
{
vector poly; /*TURN STRINGS INTO ASCII*/
for (int i = 0; i < str.size(); i++)
{
poly.push_back(static_cast(str[i]));
}

unsigned long long result = poly[0]; // Initialize

for (int i = 1; i < poly.size(); i++)
{
result = (result * p + poly[i]) % m;
}

return result;
}
Наши тестовые примеры:
hello
world
Хэндс
Функция
(они должны быть разделены)

Подробнее здесь: https://stackoverflow.com/questions/797 ... ash-code-c
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»