Как завершить хэш -код этого метода Хорнера? (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 -> 99162322
World -> 113318802
hashing -> 1064314861
function -> 85028811
function -> 85028811
function -> 85028811
function -> 85028811 . /> (они должны быть так разделены)>

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

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

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

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

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

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